foo(a)1 foo (a)
2 {
3   return (a & (1 << 31)) != 0;
4 }
5 
main()6 main ()
7 {
8   if (foo (0))
9     puts ("foo");
10   else
11     puts ("bar");
12   if (foo (~0))
13     puts ("foo");
14   else
15     puts ("bar");
16 }
17