/* PR driver/108241 */ /* { dg-options "-Os -frounding-math -fvar-tracking-assignments -fno-dce -fno-trapping-math -fno-tree-dce -fno-tree-dse" } */ long int n1; int n2, n3, n4; char n5; void foo (long int x1, long int x2, int x3, int x4, int x5, char x6, char x7) { char a01 = n2, a02 = x4, a03 = 0; short int a04; unsigned short int a05 = x5; int a06, a07, a08 = a05, a09 = x3, a10 = 0; long int a11, a12 = x4; if (x1) { a07 = x6 + (float)0x1000001; a03 = a12 = a01 = a06 = ~0; if (x5) a11 = n5; } else { a10 = x3 = n3; if (n3) a06 = a05 = x7; } if (n3 < n5) { n4 = (x2 == x4) + !n1; if (n4 % (n1 % x3)) { a04 = n4; a02 = n2; } if (x3) { a05 = !n1 % n2; a08 = n1; a04 = x5 + a06; } if (a12) a09 = n3 + n4; a12 = a07; n3 = a11 % x1; n5 += x6; n1 = a04; } n4 = x2 % x5 % a11; a06 = a10 + a08 % a02 == n4; a09 = a09 == a01 * x7; n4 = x4; a12 += x4 / 0xc000000000000000 + !a03; a03 = !a05; }