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