So?
(i >= i) // 1
((i >= i) << i) // 0x10000 or 0
(((i >= i) << i) >> i) // 1 or 0
(((((i >= i) << i) >> i) <= i)) // ((0 or 1) <= 16) == 1
Where did I go wrong?