about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_atanhf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/flt-32/e_atanhf.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_atanhf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c
index ddd18ab300..d98a11ed67 100644
--- a/sysdeps/ieee754/flt-32/e_atanhf.c
+++ b/sysdeps/ieee754/flt-32/e_atanhf.c
@@ -49,8 +49,11 @@ __ieee754_atanhf (float x)
   float t;
   if (xa < 0.5f)
     {
-      if (__builtin_expect (xa < 0x1.0p-28f, 0) && (huge + x) > 0.0f)
-	return x;
+      if (__builtin_expect (xa < 0x1.0p-28f, 0))
+	{
+	  math_force_eval (huge + x);
+	  return x;
+	}
 
       t = xa + xa;
       t = 0.5f * __log1pf (t + t * xa / (1.0f - xa));