1static int
2foo (int si1, int si2)
3{
4  return si1 > 0 && si2 > 0 && si1 > -si2 || si1 < 0 && si2 < 0
5    && si1 < -si2 ? : si1 + si2;
6}
7
8struct S0
9{
10  unsigned short f1;
11};
12int g_4;
13struct S0 g_54 = {
14  3428
15};
16
17int
18func_21 (int * p_22, int * const int32p_24, unsigned p_25,
19         const int * p_26);
20
21void int324 (unsigned p_15, int * p_16, int * p_17, int * p_18)
22{
23  if (foo (g_4, func_21 (p_18, &g_4, 0, 0)))
24    {
25      for (g_54.f1; g_54.f1; g_54.f1 += 1)
26        {
27        }
28    }
29}
30
31int
32func_21 (int * p_22, int * const int32p_24, unsigned p_25,
33         const int * p_26)
34{
35  for (0; 1; p_25 += 1)
36  lbl_29:if (p_25)
37      goto lbl_28;
38lbl_28:for (p_25 = 0; p_25 < 9; p_25 += 1)
39    if (p_25)
40      goto lbl_29;
41  unsigned short l_53;
42  for (0; l_53; l_53 = foo)
43    {
44    }
45  return 0;
46}
47