We currently do not have any floating point operators where operand 1 is a different type than the LHS. When we eventually do there is a bug in fold_range. If either operand is a known NAN, it returns a NAN of the type of operand 1 instead of the result type. This patch sets it to the correct type. Bootstraps on build-x86_64-pc-linux-gnu with no regressions. Pushed. Andrew