about summary refs log tree commit diff
path: root/math/s_csqrt.c
diff options
context:
space:
mode:
Diffstat (limited to 'math/s_csqrt.c')
-rw-r--r--math/s_csqrt.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/math/s_csqrt.c b/math/s_csqrt.c
index 75da2e7449..068534cd09 100644
--- a/math/s_csqrt.c
+++ b/math/s_csqrt.c
@@ -104,10 +104,10 @@ __csqrt (__complex__ double x)
 		__real__ x = 0.0;
 	      __imag__ x = __scalbn (__imag__ x, -2 * scale);
 	    }
-	  else if (fabs (__real__ x) < DBL_MIN
-		   && fabs (__imag__ x) < DBL_MIN)
+	  else if (fabs (__real__ x) < 2.0 * DBL_MIN
+		   && fabs (__imag__ x) < 2.0 * DBL_MIN)
 	    {
-	      scale = -(DBL_MANT_DIG / 2);
+	      scale = -((DBL_MANT_DIG + 1) / 2);
 	      __real__ x = __scalbn (__real__ x, -2 * scale);
 	      __imag__ x = __scalbn (__imag__ x, -2 * scale);
 	    }