FPBits::signaling_nan() defaults to setting the MSB of the payload to 1. The tests also used signaling NaNs with a payload of 0x123. With float16, the 1 in 0x123 aligns to the MSB of the payload, therefore 0x123 is greater than the default payload. However, that is not the case with more precise floating-point types.