(X == C) && (Y Pred1 X) --> (X == C) && (Y Pred1 C)
(X != C) || (Y Pred1 X) --> (X != C) || (Y Pred1 C)
This is not a complete alternate to D78430, but it is a more general transform that gets us most of the expected simplifications and several other improvements. It's a smaller patch too, so hopefully, less chance to go wrong assuming the underlying logic is correct:
http://volta.cs.utah.edu:8080/z/5gxjjc
Wouldn't you just be replacing one non-constant with another non-constant in that case?