use __expo2 in sinh and cosh, move __cexp to cmath
[libm] / src / math / sinhf.c
index a66ed1a..056b5f8 100644 (file)
@@ -50,7 +50,7 @@ float sinhf(float x)
 
        /* |x| in [logf(maxfloat), overflowthresold] */
        if (ix <= 0x42b2d4fc)
-               return h*2.0F*__ldexp_expf(fabsf(x), -1);
+               return h * 2.0f * __expo2f(fabsf(x)); /* h is for sign only */
 
        /* |x| > overflowthresold, sinh(x) overflow */
        return x*huge;