diff --git a/libm/src/e_pow.c b/libm/src/e_pow.c index aedd80f9..fe0b53d0 100644 --- a/libm/src/e_pow.c +++ b/libm/src/e_pow.c @@ -296,7 +296,7 @@ __ieee754_pow(double x, double y) r = (z*t1)/(t1-two)-(w+z*w); z = one-(r-z); GET_HIGH_WORD(j,z); - j = (int32_t)((uint32_t)j + ((uint32_t)u<<20)); + j = (int32_t)((uint32_t)j + ((uint32_t)n<<20)); if((j>>20)<=0) z = scalbn(z,n); /* subnormal output */ else SET_HIGH_WORD(z,j); return s*z; diff --git a/libm/src/e_powf.c b/libm/src/e_powf.c index 573a4edb..121adfb1 100644 --- a/libm/src/e_powf.c +++ b/libm/src/e_powf.c @@ -240,7 +240,7 @@ __ieee754_powf(float x, float y) r = (z*t1)/(t1-two)-(w+z*w); z = one-(r-z); GET_FLOAT_WORD(j,z); - j = (int32_t)((uint32_t)j + ((uint32_t)u<<23)); + j = (int32_t)((uint32_t)j + ((uint32_t)n<<23)); if((j>>23)<=0) z = scalbnf(z,n); /* subnormal output */ else SET_FLOAT_WORD(z,j); return s*z;