1f (x)
2     unsigned x;
3{
4  return (unsigned) (((unsigned long long) x * 0xAAAAAAAB) >> 32) >> 1;
5}
6
7main ()
8{
9  unsigned i;
10
11  for (i = 0; i < 10000; i++)
12    if (f (i) != i / 3)
13      abort ();
14  exit (0);
15}
16