1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-optimized -ffast-math" } */ 3 float a, b, c, d; 4 extern int printf (const char *, ...); main(void)5int main(void) 6 { 7 float e; 8 float f; 9 /* We should not be able to transform these into the same expression, and only have two additions. */ 10 e = a + b; 11 e = e + c; 12 f = c + a; 13 f = f + b; 14 printf ("%f %f\n", e, f); 15 } 16 17 /* { dg-final { scan-tree-dump-times "\\\+" 2 "optimized"} } */ 18