1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 #define TEN(x) x x x x x x x x x x
5 #define THOUSAND(x) TEN (TEN (TEN (x)))
6 
7 int
foo(int x,int y)8 foo (int x, int y)
9 {
10   register int a = y + 57;
11   register int b = y + 31;
12 
13   while (x-- > 0)
14     {
15       THOUSAND (a += b; b -= a;)
16     }
17   return a + b;
18 }
19