about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/e_jn.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/dbl-64/e_jn.c')
-rw-r--r--sysdeps/ieee754/dbl-64/e_jn.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
index d6ab0bced5..3fecf82f10 100644
--- a/sysdeps/ieee754/dbl-64/e_jn.c
+++ b/sysdeps/ieee754/dbl-64/e_jn.c
@@ -243,9 +243,13 @@ __ieee754_jn (int n, double x)
       ret = -b;
     else
       ret = b;
+    ret = math_narrow_eval (ret);
   }
   if (ret == 0)
-    ret = __copysign (DBL_MIN, ret) * DBL_MIN;
+    {
+      ret = math_narrow_eval (__copysign (DBL_MIN, ret) * DBL_MIN);
+      __set_errno (ERANGE);
+    }
   else
     math_check_force_underflow (ret);
   return ret;