1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-reassoc1" } */
3 
main(int a,int b,int c,int d,int e,int f,int g,int h)4 int main(int a, int b, int c, int d, int e, int f, int g, int h)
5 {
6   /* Should be transformed into e = 20 */
7   int i = (a + 9) + (c + 8);
8   int j = (-c + 1) + (-a + 2);
9 
10   e = i + j;
11   return e;
12 }
13 
14 /* We can always re-associate to a final constant but the current
15    implementation does not allow easy roll-back without IL changes.  */
16 
17 /* { dg-final { scan-tree-dump-times "= 20" 1 "reassoc1" { xfail *-*-* } } } */
18