I think this is the least tricky part of the combines. The proof for this (and all the others) is here:
- eq/neq: https://rise4fun.com/Alive/9PBA
- sgt/ugt: https://rise4fun.com/Alive/58yr
- slt/ult: https://rise4fun.com/Alive/VCQ
The ones implemented here are the ones with the C2 % C1 == 0
We should always bail out of this function if MulC is 0 right at the top. That means instsimplify hasn't run yet on this expression, so we're wasting time on (and potentially obscuring) a pattern that can be completely eliminated.