Index: head/lib/msun/src/e_hypot.c =================================================================== --- head/lib/msun/src/e_hypot.c +++ head/lib/msun/src/e_hypot.c @@ -118,10 +118,8 @@ w = sqrt(t1*y1-(w*(-w)-(t1*y2+t2*b))); } if(k!=0) { - u_int32_t high; - t1 = 1.0; - GET_HIGH_WORD(high,t1); - SET_HIGH_WORD(t1,high+(k<<20)); + t1 = 0.0; + SET_HIGH_WORD(t1,(1023+k)<<20); return t1*w; } else return w; } Index: head/lib/msun/src/e_hypotf.c =================================================================== --- head/lib/msun/src/e_hypotf.c +++ head/lib/msun/src/e_hypotf.c @@ -77,7 +77,7 @@ w = __ieee754_sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b))); } if(k!=0) { - SET_FLOAT_WORD(t1,0x3f800000+(k<<23)); + SET_FLOAT_WORD(t1,(127+k)<<23); return t1*w; } else return w; }