foo(long long si1,short si2)1 static short foo (long long si1, short si2)
2 {
3   return si1 > 0 && si2 > 0 || si1 < 0
4       && si2 < 0 && si1 < 1 - si2 ? : si1 + si2;
5 }
6 
7 int g_13;
8 unsigned g_17;
9 
10 int safe (int, int);
11 
bar(short p_51,short * p_52)12 void bar (short p_51, short * p_52)
13 {
14   int *const l_55 = &g_13;
15   if (safe (*p_52, g_13 != foo (*p_52 & *l_55 == g_13 && g_17 >= 1, 0)))
16     {
17     }
18 }
19