RISC-V's NaN unboxing operation requires checking that the extra msb bits are all 1 and using the canonical NaN instead if they aren't