aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-96/e_atanhl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/e_atanhl.c')
-rw-r--r--sysdeps/ieee754/ldbl-96/e_atanhl.c6
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);