*** 78,88 **** if (!frac) return (x); hx &= ~(i - 1); if (rm == FE_UPWARD || (rm == FE_TONEAREST && (frac > (i >> 1) || ! (frac == (i >> 1)) && (hx & i)))) xx.i = sx | (hx + i); else xx.i = sx | hx; return (xx.f); } --- 78,88 ---- if (!frac) return (x); hx &= ~(i - 1); if (rm == FE_UPWARD || (rm == FE_TONEAREST && (frac > (i >> 1) || ! ((frac == (i >> 1)) && (hx & i))))) xx.i = sx | (hx + i); else xx.i = sx | hx; return (xx.f); }