foo(a)1 foo (a)
2 {
3   if (a >= 0)
4     return (unsigned) a << 10;
5   else
6     return (int) a << 10;
7 }
8