Just found time to look a bit deeper into this. The problem is in the (real) asinh() function. I think it is possible that somewhere a calculation was done in float instead of double or a double value was shortened to float. Please note that until this is fixed, qemu i386 is not IEEE754 conform.
Minimal test code in c: --- #include <stdio.h> #include <math.h> int main(){ /* compile with gcc -lm test.c */ double x, y; x = -2.1073424255447017e-08; y = asinh(x); printf("y = %20.16e\n",y); printf("should be -2.1073424255447017e-08\n"); } --- -- Python 3.1.2 math errors with Qemu 0.12.5 https://bugs.launchpad.net/bugs/645662 You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. Status in QEMU: New Bug description: When doing the regression tests for Python 3.1.2 with Qemu 0.12.5, (Linux version 2.6.26-2-686 (Debian 2.6.26-25lenny1)), gcc (Debian 4.3.2-1.1) 4.3.2, Python compiled from sources within qemu, 3 math tests fail, apparently because the floating point unit is buggy. Qmeu was compiled from original sources on Debian Lenny with kernel 2.6.34.6 from kernel.org, gcc (Debian 4.3.2-1.1) 4.3. Regression testing errors: test_cmath test test_cmath failed -- Traceback (most recent call last): File "/root/tools/python3/Python-3.1.2/Lib/test/test_cmath.py", line 364, in self.fail(error_message) AssertionError: acos0034: acos(complex(-1.0000000000000002, 0.0)) Expected: complex(3.141592653589793, -2.1073424255447014e-08) Received: complex(3.141592653589793, -2.1073424338879928e-08) Received value insufficiently close to expected value. test_float test test_float failed -- Traceback (most recent call last): File "/root/tools/python3/Python-3.1.2/Lib/test/test_float.py", line 479, in self.assertEqual(s, repr(float(s))) AssertionError: '8.72293771110361e+25' != '8.722937711103609e+25' test_math test test_math failed -- multiple errors occurred; run in verbose mode for deta => runtests.sh -v test_math le01:~/tools/python3/Python-3.1.2# ./runtests.sh -v test_math test_math BAD 1 BAD 0 GOOD 0 SKIPPED 1 total le01:~/tools/python3/Python-3.1.2#