Original version only solve shifted constant 1, this patch expend it to PowerOf2
(trunc (2**Z << Y) to iN) == 0 -> Y u> N - Z + 1 (trunc (2**Z << Y) to iN) != 0 -> Y u<= N - Z + 1
https://alive2.llvm.org/ce/z/zaQFeR
and
(trunc (2**Z << Y) to iN) == 2**C --> Y == C - Z (trunc (2**Z << Y) to iN) != 2**C --> Y != C - Z
I prefer to give a constant value some name with "C" to make it obvious that we matched a constant, so C1 or ShiftC or something like that.