JIT: some more integer optimizations

This isn't that heavily tested so it could probably use a JMC pass or two and a sanity check by some other eyes
Not that it really matters, but where are we supposed to handle the case of `update && !a`?