diff options
Diffstat (limited to 'sysdeps/ieee754/dbl-64/s_asinh.c')
-rw-r--r-- | sysdeps/ieee754/dbl-64/s_asinh.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_asinh.c b/sysdeps/ieee754/dbl-64/s_asinh.c index 9193301b5e..192ff8594d 100644 --- a/sysdeps/ieee754/dbl-64/s_asinh.c +++ b/sysdeps/ieee754/dbl-64/s_asinh.c @@ -24,6 +24,8 @@ #include <float.h> #include <math.h> #include <math_private.h> +#include <math-underflow.h> +#include <libm-alias-double.h> static const double one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ @@ -54,19 +56,15 @@ __asinh (double x) double xa = fabs (x); if (ix > 0x40000000) /* 2**28 > |x| > 2.0 */ { - w = __ieee754_log (2.0 * xa + one / (__ieee754_sqrt (xa * xa + one) + + w = __ieee754_log (2.0 * xa + one / (sqrt (xa * xa + one) + xa)); } else /* 2.0 > |x| > 2**-28 */ { double t = xa * xa; - w = __log1p (xa + t / (one + __ieee754_sqrt (one + t))); + w = __log1p (xa + t / (one + sqrt (one + t))); } } return __copysign (w, x); } -weak_alias (__asinh, asinh) -#ifdef NO_LONG_DOUBLE -strong_alias (__asinh, __asinhl) -weak_alias (__asinh, asinhl) -#endif +libm_alias_double (__asinh, asinh) |