1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
4 extern void abort (void);
5 
6 unsigned a, e;
7 
8 struct S0
9 {
10   int f1;
11   int f8;
12 } c = {4, 6};
13 
14 int b, f, g, h, i, j, l, p;
15 short d, o = -7;
16 char k, n = 5;
17 
fn1(int p1,int p2)18 unsigned fn1 (int p1, int p2)
19 {
20   return p2 >= 2 || p1 >> p2 ? p1 : p1 << p2;
21 }
22 
fn2(struct S0 p1)23 static short fn2 (struct S0 p1)
24 {
25   int *q = 0;
26   int r = 7;
27   if (!a)
28     {
29       c.f1 = 1;
30       for (; c.f1; c.f1--)
31 	if (fn1 (10 != 0, p1.f8))
32 	  {
33 	    short s = 9 << ~o % (d ^ n);
34 	    int t = s >> h % ~d;
35 	    p = r;
36 	    r = s | p * (d && 9) | t;
37 	    int u = i & c.f1;
38 	    unsigned v = ~(~(u & h) | (~(8 >> c.f1) & i));
39 	    int w = v;
40 	    if (u < 9)
41 	      w = c.f1;
42 	    if (i > h && u)
43 	      {
44 		__builtin_printf ("%d\n", c.f1);
45 		continue;
46 	      }
47 	    c.f1 = w;
48 	    if (!p)
49 	      continue;
50 	    return 0;
51 	  }
52       for (;;)
53 	*q = 0;
54     }
55   return 0;
56 }
57 
fn3()58 static void fn3 ()
59 {
60   fn2 (c);
61   l = c.f1 < b;
62   if (l)
63     {
64     L1:
65       e = l | j / e % ~f;
66       j = f - 4 % k < c.f1 / e / b - j - 1;
67       if (l)
68 	{
69 	  __builtin_printf ("%d\n", b);
70 	  goto L1;
71 	}
72       int m[245];
73       g = m[2];
74     }
75 }
76 
main()77 int main ()
78 {
79   fn3 ();
80   if (c.f1 != 1)
81     abort ();
82   return 0;
83 }
84