Caution: I am assuming the values used on ConstantExpr::getBinOpIdentity are correct. If someone with floating point knowledge can confirm, that'd be great.
Extend the integer transform in the obvious way. I decided not to cast to integer type to be conservative for the moment. Happy to reverse that if desired.
@scanon for comment.