https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110145
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So perhaps just wrap that single test with #if FLT_EVAL_METHOD == 0 || FLT_EVAL_METHOD == 1 (to make sure double constants are evaluated to double precision)? Or use 0x1.7a2ecc414a03fp+418 instead of 1e126? Or both (wrap the 1e126 test with the #if and add 0x1.7a2ecc414a03fp+418 after it?