diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/e_atanhl.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-96/e_atanhl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-96/e_atanhl.c b/sysdeps/ieee754/ldbl-96/e_atanhl.c index 305d50e309..9a957c9065 100644 --- a/sysdeps/ieee754/ldbl-96/e_atanhl.c +++ b/sysdeps/ieee754/ldbl-96/e_atanhl.c @@ -32,6 +32,7 @@ * */ +#include <float.h> #include <math.h> #include <math_private.h> @@ -54,6 +55,11 @@ __ieee754_atanhl(long double x) return x/zero; if(ix<0x3fdf) { math_force_eval(huge+x); + if (fabsl (x) < LDBL_MIN) + { + long double force_underflow = x * x; + math_force_eval (force_underflow); + } return x; /* x<2**-32 */ } SET_LDOUBLE_EXP(x,ix); |