diff options
Diffstat (limited to 'src/math/atanf.c')
| -rw-r--r-- | src/math/atanf.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/src/math/atanf.c b/src/math/atanf.c index ac8bfd06..178341b6 100644 --- a/src/math/atanf.c +++ b/src/math/atanf.c @@ -55,8 +55,9 @@ float atanf(float x)  	}  	if (ix < 0x3ee00000) {   /* |x| < 0.4375 */  		if (ix < 0x39800000) {  /* |x| < 2**-12 */ -			/* raise inexact if x!=0 */ -			FORCE_EVAL(x + 0x1p120f); +			if (ix < 0x00800000) +				/* raise underflow for subnormal x */ +				FORCE_EVAL(x*x);  			return x;  		}  		id = -1; | 
