/* { dg-do compile } */ /* { dg-options "-O -fdump-tree-optimized-raw -fno-tree-reassoc" } */ int f0(int a,int b,int c){ int d = a + b; int e = c + b; return d - e; } int f1(int a,int b,int c){ int d = a + b; int e = b - c; return d - e; } int f2(int a,int b,int c){ int d = a + b; int e = c - b; return e + d; } int f3(int a,int b,int c){ int d = a - b; int e = c - b; return d - e; } int f4(int a,int b,int c){ int d = b - a; int e = c - b; return e + d; } /* { dg-final { scan-tree-dump-times "plus_expr" 2 "optimized" } } */ /* { dg-final { scan-tree-dump-times "minus_expr" 3 "optimized" } } */