Created attachment 7375 [details] test file in single precision with rounding to zero, atan(0x1p-149) should give zero and not 0x1p-149: GNU libc version: 2.18.90 GNU libc release: development x=0x1p-149 (1.401298464e-45) libc: atanf(x)=0x1p-149 (1.401298464e-45) mpfr: atanf(x)=0x0p+0 (0.000000000e+00) ulp difference: inf See http://webloria.loria.fr/~zimmerma/glibc/
For small numbers, ulps are for glibc considered equal to the least subnormal (unless the mathematical result is well under half the least subnormal), so this is counted as a 1ulp error, not a bug. *** This bug has been marked as a duplicate of bug 14759 ***