1 unsigned short a = 41461;
2 unsigned short b = 3419;
3 #if __SIZEOF_INT__ >= 4
4 int c = 0;
5 
foo()6 void foo() {
7   if (a + b * ~(0 != 5))
8     c = -~(b * ~(0 != 5)) + 2147483647;
9 }
10 #else
11 __INT32_TYPE__ c = 0;
12 
foo()13 void foo() {
14   if (a + b * ~((__INT32_TYPE__)(0 != 5)))
15     c = -~(b * ~((__INT32_TYPE__)(0 != 5))) + 2147483647;
16 }
17 #endif
18 
main()19 int main() {
20   foo();
21   if (c != 2147476810)
22     return -1;
23   return 0;
24 }
25