Message ID | alpine.DEB.2.10.1506241512380.6710@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c index b4b7896..2417e7f 100644 --- a/sysdeps/ieee754/ldbl-128/e_expl.c +++ b/sysdeps/ieee754/ldbl-128/e_expl.c @@ -230,7 +230,15 @@ __ieee754_expl (long double x) if (!unsafe) return result; else - return result * scale_u.d; + { + result *= scale_u.d; + if (result < LDBL_MIN) + { + long double force_underflow = result * result; + math_force_eval (force_underflow); + } + return result; + } } /* Exceptional cases: */ else if (isless (x, himark))