main()1 int main()
2 {
3   unsigned long long table[256];
4   unsigned int i;
5   for (i=0; i<256; ++i) {
6       unsigned long long j;
7       unsigned char x=i;
8       for (j=0; j<5; ++j) {
9 	  x += x<<1;
10 	  x ^= x>>1;
11       }
12       for (j=0; j<5; ++j) {
13 	  x += x<<1;
14 	  x ^= x>>1;
15       }
16       for (j=0; j<5; ++j) {
17 	  x += x<<1;
18 	  x ^= x>>1;
19       }
20       for (j=0; j<5; ++j) {
21 	  x += x<<1;
22 	  x ^= x>>1;
23       }
24       for (j=0; j<5; ++j) {
25 	  x += x<<1;
26 	  x ^= x>>1;
27       }
28       table[i] ^= (((unsigned long long)x)<<16);
29   }
30   for (i=0; i<256; ++i) {
31       if ((table[i]&0xff)==i)
32 	return 1;
33   }
34   return 0;
35 }
36 
37