This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Math errors
- From: Alistair Francis <alistair23 at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 30 Dec 2019 11:52:26 -0800
- Subject: Math errors
Hey,
I'm running the `make check` tests on RV32 inside QEMU and about 800
math tests are failing with errors along these lines:
$ cat math/test-double-erf.out
Failure: Test: erf (0x1.4p+0)
Result:
is: 9.2290012825645817e-01 0x1.d8865d98abe00p-1
should be: 9.2290012825645829e-01 0x1.d8865d98abe01p-1
difference: 1.1102230246251565e-16 0x1.0000000000000p-53
ulp : 1.0000
max.ulp : 0.0000
Maximal error of `erf'
is : 1 ulp
accepted: 0 ulp
Failure: Test: erf_downward (-0x1.4d32f4p-12)
Result:
is: -3.5855754629430663e-04 -0x1.77f98ef609eb3p-12
should be: -3.5855754629430669e-04 -0x1.77f98ef609eb4p-12
difference: 5.4210108624275221e-20 0x1.0000000000000p-64
ulp : 1.0000
max.ulp : 0.0000
Failure: Test: erf_downward (0x1.44e722p+0)
Result:
is: 9.2732266856644440e-01 0x1.daca096caa26ap-1
should be: 9.2732266856644429e-01 0x1.daca096caa269p-1
difference: 1.1102230246251565e-16 0x1.0000000000000p-53
It seems the tests are failing due to small differences in the
floating point values.
Has anyone seen this before? I don't see how this can be related
specifically to the RV32 port, but I didn't see these errors when
running the ARM 32-bit testing. It's possible we are loosing
information in the QEMU floating point implementation for RV32.
Alistair