summaryrefslogtreecommitdiff
path: root/src/math/atan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/atan.c')
-rw-r--r--src/math/atan.c5
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;