i = (( i << 16 ) & 0xFFFF0000 ) | (( i >> 16 ) & 0x0000FFFF );
i = (( i << 8 ) & 0xFF00FF00 ) | (( i >> 8 ) & 0x00FF00FF );
i = (( i << 4 ) & 0xF0F0F0F0 ) | (( i >> 4 ) & 0x0F0F0F0F );
i = (( i << 2 ) & 0xCCCCCCCC ) | (( i >> 2 ) & 0x33333333 );
i = (( i << 1 ) & 0xAAAAAAAA ) | (( i >> 1 ) & 0x55555555 );
// What i sees in the mirror