int foo (a, c) { int b; if (a + c >= 0) /* b < 0 ==== a < 10? */ return a | 0x80000000; return 0; } void bar (a) int a; { if (foo (a, 10) & 0x80000000) printf ("y"); else printf ("n"); } int main () { bar (0); bar (1); bar (-1); bar (10); bar (-10); bar (11); bar (-11); bar (0x7fffffff); bar (-0x7fffffff); puts (""); return 0; }