| int a = 0; | |
| int d = 1; | |
| int f = 1; | |
| int fn1() { | |
| return a || 1 >> a; | |
| } | |
| int fn2(int p1, int p2) { | |
| return p2 >= 2 ? p1 : p1 >> 1; | |
| } | |
| int fn3(int p1) { | |
| return d ^ p1; | |
| } | |
| int fn4(int p1, int p2) { | |
| return fn3(!d > fn2((f = fn1() - 1000) || p2, p1)); | |
| } | |
| int main() { | |
| if (fn4(0, 0) != 1) | |
| __builtin_abort (); | |
| return 0; | |
| } |