about summary refs log tree commit diff
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);