1  /* { dg-do compile } */ 
       2  /* { dg-options "-O2 -fdump-tree-reassoc1" } */
       3  int main(int a, int b, int c, int d)
       4  {
       5    /* Should be transformed into a + c + 8 */
       6    int e = a + 3;
       7    int f = c + 5;
       8    int g = e + f;
       9    return g;
      10  }
      11  
      12  /* We cannot re-associate the additions due to undefined signed overflow.  */
      13  
      14  /* { dg-final { scan-tree-dump-times "\\\+ 8" 1 "reassoc1" { xfail *-*-* } } } */