Add new fold for:
`(and/or (icmp ne/eq X,0),(icmp ne/eq X,NegPow2))`
->
`(icmp ne/eq (and -X, ~(-NegPow2)), 0)`This is really an extension of the generic pattern we already support:
`(and/or (icmp ne/eq X,C0),(icmp ne/eq X,C1))`
-> iff `absdif(C0, C1).ispow2`
`(icmp ne/eq (and (sub X, smin(C0, C1)), ~absdif(C0, C1)), 0)`But negation can be faster than adding a constant, especially for
vectors where creating a zero constant can be meaningfully faster.