/* { dg-do compile } */ /* { dg-options "-O -ffinite-math-only -fdump-tree-fre1" } */ extern double cos (double); extern double tan (double); int f1 (double x, double y) { double z1 = cos(y<10 ? x : tan(x<20 ? x : y)); double z2 = cos(y<10 ? x : tan(x<20 ? x : y)); return z1 == z2; } /* { dg-final { scan-tree-dump "return 1;" "fre1" } } */