about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-128
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-128')
-rw-r--r--sysdeps/ieee754/ldbl-128/e_asinl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/e_atanhl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/e_expl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/e_gammal_r.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j1l.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/e_jnl.c7
-rw-r--r--sysdeps/ieee754/ldbl-128/e_sinhl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/k_sincosl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/k_sinl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/k_tanl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_asinhl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_atanl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_erfl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_expm1l.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_fmal.c4
-rw-r--r--sysdeps/ieee754/ldbl-128/s_log1pl.c6
-rw-r--r--sysdeps/ieee754/ldbl-128/s_tanhl.c6
17 files changed, 19 insertions, 82 deletions
diff --git a/sysdeps/ieee754/ldbl-128/e_asinl.c b/sysdeps/ieee754/ldbl-128/e_asinl.c
index 691ac267fb..5a0e473ef0 100644
--- a/sysdeps/ieee754/ldbl-128/e_asinl.c
+++ b/sysdeps/ieee754/ldbl-128/e_asinl.c
@@ -153,11 +153,7 @@ __ieee754_asinl (long double x)
     {
       if (ix < 0x3fc60000) /* |x| < 2**-57 */
 	{
-	  if (fabsl (x) < LDBL_MIN)
-	    {
-	      long double force_underflow = x * x;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow (x);
 	  long double force_inexact = huge + x;
 	  math_force_eval (force_inexact);
 	  return x;		/* return x with inexact if x!=0 */
diff --git a/sysdeps/ieee754/ldbl-128/e_atanhl.c b/sysdeps/ieee754/ldbl-128/e_atanhl.c
index a5a7ee0712..7fa53ef436 100644
--- a/sysdeps/ieee754/ldbl-128/e_atanhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_atanhl.c
@@ -60,11 +60,7 @@ __ieee754_atanhl(long double x)
 	  }
 	if(ix<0x3fc60000 && (huge+x)>zero)	/* x < 2^-57 */
 	  {
-	    if (fabsl (x) < LDBL_MIN)
-	      {
-		long double force_underflow = x * x;
-		math_force_eval (force_underflow);
-	      }
+	    math_check_force_underflow (x);
 	    return x;
 	  }
 
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c
index 1cd095cb77..30ec34136f 100644
--- a/sysdeps/ieee754/ldbl-128/e_expl.c
+++ b/sysdeps/ieee754/ldbl-128/e_expl.c
@@ -232,11 +232,7 @@ __ieee754_expl (long double x)
       else
 	{
 	  result *= scale_u.d;
-	  if (result < LDBL_MIN)
-	    {
-	      long double force_underflow = result * result;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow_nonneg (result);
 	  return result;
 	}
     }
diff --git a/sysdeps/ieee754/ldbl-128/e_gammal_r.c b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
index c44f031745..7c11ae40cd 100644
--- a/sysdeps/ieee754/ldbl-128/e_gammal_r.c
+++ b/sysdeps/ieee754/ldbl-128/e_gammal_r.c
@@ -194,11 +194,7 @@ __ieee754_gammal_r (long double x, int *signgamp)
 	      ret = M_PIl / (-x * sinpix
 			     * gammal_positive (-x, &exp2_adj));
 	      ret = __scalbnl (ret, -exp2_adj);
-	      if (ret < LDBL_MIN)
-		{
-		  long double force_underflow = ret * ret;
-		  math_force_eval (force_underflow);
-		}
+	      math_check_force_underflow_nonneg (ret);
 	    }
 	}
     }
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 591c38efd0..70ecf5eae3 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -700,11 +700,7 @@ __ieee754_j1l (long double x)
   if (xx <= 0x1p-58L)
     {
       long double ret = x * 0.5L;
-      if (fabsl (ret) < LDBL_MIN)
-	{
-	  long double force_underflow = ret * ret;
-	  math_force_eval (force_underflow);
-	}
+      math_check_force_underflow (ret);
       return ret;
     }
   if (xx <= 2.0L)
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index a419994a86..ee5a16b62e 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -297,11 +297,8 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
-  else if (fabsl (ret) < LDBL_MIN)
-    {
-      long double force_underflow = ret * ret;
-      math_force_eval (force_underflow);
-    }
+  else
+    math_check_force_underflow (ret);
   return ret;
 }
 strong_alias (__ieee754_jnl, __jnl_finite)
diff --git a/sysdeps/ieee754/ldbl-128/e_sinhl.c b/sysdeps/ieee754/ldbl-128/e_sinhl.c
index b0244a828d..11974a39af 100644
--- a/sysdeps/ieee754/ldbl-128/e_sinhl.c
+++ b/sysdeps/ieee754/ldbl-128/e_sinhl.c
@@ -88,11 +88,7 @@ __ieee754_sinhl (long double x)
     {
       if (ix < 0x3fc60000) /* |x| < 2^-57 */
 	{
-	  if (fabsl (x) < LDBL_MIN)
-	    {
-	      long double force_underflow = x * x;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow (x);
 	  if (shuge + x > one)
 	    return x;		/* sinh(tiny) = tiny with inexact */
 	}
diff --git a/sysdeps/ieee754/ldbl-128/k_sincosl.c b/sysdeps/ieee754/ldbl-128/k_sincosl.c
index 7b5c4b0e81..4f0de3d873 100644
--- a/sysdeps/ieee754/ldbl-128/k_sincosl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sincosl.c
@@ -111,11 +111,7 @@ __kernel_sincosl(long double x, long double y, long double *sinx, long double *c
 	 polynomial of degree 16(17).  */
       if (tix < 0x3fc60000)		/* |x| < 2^-57 */
 	{
-	  if (fabsl (x) < LDBL_MIN)
-	    {
-	      long double force_underflow = x * x;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow (x);
 	  if (!((int)x))			/* generate inexact */
 	    {
 	      *sinx = x;
diff --git a/sysdeps/ieee754/ldbl-128/k_sinl.c b/sysdeps/ieee754/ldbl-128/k_sinl.c
index 04d539ff1a..d9ef62c653 100644
--- a/sysdeps/ieee754/ldbl-128/k_sinl.c
+++ b/sysdeps/ieee754/ldbl-128/k_sinl.c
@@ -92,11 +92,7 @@ __kernel_sinl(long double x, long double y, int iy)
 	 polynomial of degree 17.  */
       if (tix < 0x3fc60000)		/* |x| < 2^-57 */
 	{
-	  if (fabsl (x) < LDBL_MIN)
-	    {
-	      long double force_underflow = x * x;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow (x);
 	  if (!((int)x)) return x;	/* generate inexact */
 	}
       z = x * x;
diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c
index 6a6fa9f0a6..8ff9192947 100644
--- a/sysdeps/ieee754/ldbl-128/k_tanl.c
+++ b/sysdeps/ieee754/ldbl-128/k_tanl.c
@@ -101,11 +101,7 @@ __kernel_tanl (long double x, long double y, int iy)
 	    return one / fabs (x);
 	  else if (iy == 1)
 	    {
-	      if (fabsl (x) < LDBL_MIN)
-		{
-		  long double force_underflow = x * x;
-		  math_force_eval (force_underflow);
-		}
+	      math_check_force_underflow (x);
 	      return x;
 	    }
 	  else
diff --git a/sysdeps/ieee754/ldbl-128/s_asinhl.c b/sysdeps/ieee754/ldbl-128/s_asinhl.c
index 8d5721a73c..5f3b9f2c76 100644
--- a/sysdeps/ieee754/ldbl-128/s_asinhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_asinhl.c
@@ -52,11 +52,7 @@ __asinhl (long double x)
     return x + x;		/* x is inf or NaN */
   if (ix < 0x3fc70000)
     {				/* |x| < 2^ -56 */
-      if (fabsl (x) < LDBL_MIN)
-	{
-	  long double force_underflow = x * x;
-	  math_force_eval (force_underflow);
-	}
+      math_check_force_underflow (x);
       if (huge + x > one)
 	return x;		/* return x inexact except 0 */
     }
diff --git a/sysdeps/ieee754/ldbl-128/s_atanl.c b/sysdeps/ieee754/ldbl-128/s_atanl.c
index 1367b6b15d..aaae701551 100644
--- a/sysdeps/ieee754/ldbl-128/s_atanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_atanl.c
@@ -202,11 +202,7 @@ __atanl (long double x)
 
   if (k <= 0x3fc50000) /* |x| < 2**-58 */
     {
-      if (fabsl (x) < LDBL_MIN)
-	{
-	  long double force_underflow = x * x;
-	  math_force_eval (force_underflow);
-	}
+      math_check_force_underflow (x);
       /* Raise inexact. */
       if (huge + x > 0.0)
 	return x;
diff --git a/sysdeps/ieee754/ldbl-128/s_erfl.c b/sysdeps/ieee754/ldbl-128/s_erfl.c
index 08c80a33ea..dd275a7dd9 100644
--- a/sysdeps/ieee754/ldbl-128/s_erfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_erfl.c
@@ -785,11 +785,7 @@ __erfl (long double x)
 	    {
 	      /* Avoid spurious underflow.  */
 	      long double ret =  0.0625 * (16.0 * x + (16.0 * efx) * x);
-	      if (fabsl (ret) < LDBL_MIN)
-		{
-		  long double force_underflow = ret * ret;
-		  math_force_eval (force_underflow);
-		}
+	      math_check_force_underflow (ret);
 	      return ret;
 	    }
 	  return x + efx * x;
diff --git a/sysdeps/ieee754/ldbl-128/s_expm1l.c b/sysdeps/ieee754/ldbl-128/s_expm1l.c
index f1a68c878b..b1100a9d0e 100644
--- a/sysdeps/ieee754/ldbl-128/s_expm1l.c
+++ b/sysdeps/ieee754/ldbl-128/s_expm1l.c
@@ -128,11 +128,7 @@ __expm1l (long double x)
      when the result does underflow.  */
   if (fabsl (x) < 0x1p-113L)
     {
-      if (fabsl (x) < LDBL_MIN)
-	{
-	  long double force_underflow = x * x;
-	  math_force_eval (force_underflow);
-	}
+      math_check_force_underflow (x);
       return x;
     }
 
diff --git a/sysdeps/ieee754/ldbl-128/s_fmal.c b/sysdeps/ieee754/ldbl-128/s_fmal.c
index 5abc9105e5..e231ce6344 100644
--- a/sysdeps/ieee754/ldbl-128/s_fmal.c
+++ b/sysdeps/ieee754/ldbl-128/s_fmal.c
@@ -94,8 +94,8 @@ __fmal (long double x, long double y, long double z)
 		     && w.ieee.mantissa1 == 0
 		     && w.ieee.mantissa0 == 0)))
 	    {
-	      volatile long double force_underflow = x * y;
-	      (void) force_underflow;
+	      long double force_underflow = x * y;
+	      math_force_eval (force_underflow);
 	    }
 	  return v.d * 0x1p-114L;
 	}
diff --git a/sysdeps/ieee754/ldbl-128/s_log1pl.c b/sysdeps/ieee754/ldbl-128/s_log1pl.c
index 960955077b..9806ab6d63 100644
--- a/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -140,11 +140,7 @@ __log1pl (long double xm1)
 
   if ((hx & 0x7fffffff) < 0x3f8e0000)
     {
-      if (fabsl (xm1) < LDBL_MIN)
-	{
-	  long double force_underflow = xm1 * xm1;
-	  math_force_eval (force_underflow);
-	}
+      math_check_force_underflow (xm1);
       if ((int) xm1 == 0)
 	return xm1;
     }
diff --git a/sysdeps/ieee754/ldbl-128/s_tanhl.c b/sysdeps/ieee754/ldbl-128/s_tanhl.c
index 8b1706fcdc..f7a1d20f79 100644
--- a/sysdeps/ieee754/ldbl-128/s_tanhl.c
+++ b/sysdeps/ieee754/ldbl-128/s_tanhl.c
@@ -75,11 +75,7 @@ __tanhl (long double x)
 	return x;		/* x == +- 0 */
       if (ix < 0x3fc60000)	/* |x| < 2^-57 */
 	{
-	  if (fabsl (x) < LDBL_MIN)
-	    {
-	      long double force_underflow = x * x;
-	      math_force_eval (force_underflow);
-	    }
+	  math_check_force_underflow (x);
 	  return x * (one + tiny); /* tanh(small) = small */
 	}
       u.parts32.w0 = ix;	/* Absolute value of x.  */