diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/e_asinl.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-96/e_asinl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-96/e_asinl.c b/sysdeps/ieee754/ldbl-96/e_asinl.c index c1ffa3e0d9..2973bf071b 100644 --- a/sysdeps/ieee754/ldbl-96/e_asinl.c +++ b/sysdeps/ieee754/ldbl-96/e_asinl.c @@ -58,6 +58,7 @@ */ +#include <float.h> #include <math.h> #include <math_private.h> @@ -111,6 +112,11 @@ __ieee754_asinl (long double x) { /* |x|<0.5 */ if (ix < 0x3fde8000) { /* if |x| < 2**-33 */ + if (fabsl (x) < LDBL_MIN) + { + long double force_underflow = x * x; + math_force_eval (force_underflow); + } if (huge + x > one) return x; /* return x with inexact if x!=0 */ } |