only use memcpy realloc to shrink if an exact-sized free chunk exists
[oweals/musl.git] / src / math / atanf.c
index ac8bfd0665f08547e444939c540dd6eafe461fd0..178341b670fa249fa50157d878ac2a66bd7f1843 100644 (file)
@@ -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;