diff options
Diffstat (limited to 'src/math/atan.c')
-rw-r--r-- | src/math/atan.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/math/atan.c b/src/math/atan.c index 5a1d33e6..63b0ab25 100644 --- a/src/math/atan.c +++ b/src/math/atan.c @@ -77,8 +77,9 @@ double atan(double x) } if (ix < 0x3fdc0000) { /* |x| < 0.4375 */ if (ix < 0x3e400000) { /* |x| < 2^-27 */ - /* raise inexact if x!=0 */ - FORCE_EVAL(x + 0x1p120f); + if (ix < 0x00100000) + /* raise underflow for subnormal x */ + FORCE_EVAL((float)x); return x; } id = -1; |