about summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
index 96845fe5f8..51365d6e07 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
@@ -91,11 +91,9 @@ long double __ieee754_sqrtl(long double x)
     return c.x * i;
   }
   else {
-    if (k>=INT64_C(0x7ff0000000000000)) {
-      if (a.i[0] == INT64_C(0xfff0000000000000))
-	return (big1-big1)/(big-big); /* sqrt (-Inf) = NaN.  */
-      return x; /* sqrt (NaN) = NaN, sqrt (+Inf) = +Inf.  */
-    }
+    if (k>=INT64_C(0x7ff0000000000000))
+      /* sqrt (-Inf) = NaN, sqrt (NaN) = NaN, sqrt (+Inf) = +Inf.  */
+      return x * x + x;
     if (x == 0) return x;
     if (x < 0) return (big1-big1)/(big-big);
     return tm256*__ieee754_sqrtl(x*t512);