use __expo2 in sinh and cosh, move __cexp to cmath
[libm] / src / math / cosh.c
index cd5d749..5f38b27 100644 (file)
@@ -55,7 +55,7 @@ double cosh(double x)
                return one + (t*t)/(w+w);
        }
 
-       /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
+       /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|))/2; */
        if (ix < 0x40360000) {
                t = exp(fabs(x));
                return half*t + half/t;
@@ -66,8 +66,8 @@ double cosh(double x)
                return half*exp(fabs(x));
 
        /* |x| in [log(maxdouble), overflowthresold] */
-       if (ix<=0x408633CE)
-               return __ldexp_exp(fabs(x), -1);
+       if (ix <= 0x408633CE)
+               return __expo2(fabs(x));
 
        /* |x| > overflowthresold, cosh(x) overflow */
        return huge*huge;