https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111709
--- Comment #27 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- That's not redundant, the previous calculation is in FE_TOWARDZERO mode, before the call to libc_feupdateenv_test. But maybe that call needs to be followed by "a1 = math_opt_barrier (a1);" or similar to ensure the value doesn't get wrongly reused in the new rounding mode. With a value calculated in the correct rounding mode, the exponent should be 109, not 108.