Apologies for the long post.
I decided it would be useful to see how the C version of the
ieeefp-tests works. I've appended the double-float output file
generated via GCC on a sparc/solaris8 box.
There are some surprises there. CMUCL/sparc has failures on cosh and
sin. The C version shows no such errors, but does shows errors on
atan2, which doesn't happen on CMUCL/sparc.
More study needed, I think.
Ray
Total 60 tests: pass 60, flags err 0, value err 0, acosd
Total 352 tests: pass 352, flags err 0, value err 0, addd
Total 77 tests: pass 77, flags err 0, value err 0, asind
Value error: atan2d n eq -
Input: 80000000 00000000 00000000 00000000
Computed: 00000000 00000000
Expected: 80000000 00000000 -
Value error: atan2d n eq ?x
Input: 00000000 00000000 80000000 00000000
Computed: 00000000 00000000
Expected: 400921FB 54442D18 ?x
Value error: atan2d n eq ?x
Input: 80000000 00000000 80000000 00000000
Computed: 00000000 00000000
Expected: C00921FB 54442D18 ?x
Total 104 tests: pass 101, flags err 0, value err 3, atan2d
ucbtest UCBFAIL in atan2d at line 701 for double
Total 57 tests: pass 57, flags err 0, value err 0, atand
Total 126 tests: pass 126, flags err 0, value err 0, cabsd
Total 99 tests: pass 99, flags err 0, value err 0, ceild
Total 53 tests: pass 53, flags err 0, value err 0, cosd
Total 68 tests: pass 68, flags err 0, value err 0, coshd
Total 383 tests: pass 383, flags err 0, value err 0, divd
Total 97 tests: pass 97, flags err 0, value err 0, expd
Total 37 tests: pass 37, flags err 0, value err 0, fabsd
Total 103 tests: pass 103, flags err 0, value err 0, floord
Total 352 tests: pass 352, flags err 0, value err 0, fmodd
Total 126 tests: pass 126, flags err 0, value err 0, hypotd
Total 89 tests: pass 89, flags err 0, value err 0, log10d
Total 83 tests: pass 83, flags err 0, value err 0, logd
Total 340 tests: pass 340, flags err 0, value err 0, muld
Value error: powd n eq -
Input: 7FF00000 00000001 00000000 00000000
Computed: 7FF00000 00000001
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: 7FF80000 00000001 80000000 00000000
Computed: 7FF80000 00000001
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFF00000 00000001 00000000 00000000
Computed: FFF00000 00000001
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFF80000 00000001 80000000 00000000
Computed: FFF80000 00000001
Expected: 3FF00000 00000000 -
Value error: powd n eq d
Input: 00000000 00000000 FFEFFFFF FFFFFFFF
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 80000000 00000001
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 80000000 00000000 FFEFFFFF FFFFFFFF
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 80000000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d?x
Input: 80000000 00000000 80000000 00000001
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d?x
Value error: powd n eq -
Input: 7FF02000 00000000 00000000 00000000
Computed: 7FF02000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: 7FF02000 00000000 80000000 00000000
Computed: 7FF02000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: 7FFFE000 00000000 00000000 00000000
Computed: 7FFFE000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: 7FFFE000 00000000 80000000 00000000
Computed: 7FFFE000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFF02000 00000000 00000000 00000000
Computed: FFF02000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFF02000 00000000 80000000 00000000
Computed: FFF02000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFFFE000 00000000 00000000 00000000
Computed: FFFFE000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq -
Input: FFFFE000 00000000 80000000 00000000
Computed: FFFFE000 00000000
Expected: 3FF00000 00000000 -
Value error: powd n eq ?xd
Input: 80000000 00000000 80000000 00000001
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 ?xd
Value error: powd n eq d
Input: 00000000 00000000 BFE00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 BFF00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 C0220000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 C0700000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 C0DFFFC0 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 00000000 00000000 C0E00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 80000000 00000000 BFE00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 80000000 00000000 C0700000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq d
Input: 80000000 00000000 C0E00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 d
Value error: powd n eq xo
Input: 80000000 00000001 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80000000 00000001 C0DFFF80 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80000000 00000002 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80000000 00000003 C0700000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80000000 00000003 C0E00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80040000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80040000 00000001 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80080000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80080000 00000000 C0E00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 800FFFFF FFFFFFFF C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80100000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80100000 00000001 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80100000 00000001 C0700000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80100000 00000001 C0DFFF80 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80100000 00000002 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80200000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: 80300000 00000000 C0000000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: BC900000 00000000 C06F8000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: BCB00000 00000000 C0704000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: C0000000 00000000 40900000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: C0700000 00000000 40A00000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: C0F00000 00000000 40900000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: FFE00000 00000000 40700000 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Value error: powd n eq xo
Input: FFE00000 00000000 40DFFF80 00000000
Computed: FFF00000 00000000
Expected: 7FF00000 00000000 xo
Total 1543 tests: pass 1491, flags err 0, value err 52, powd
ucbtest UCBFAIL in powd at line 701 for double
Total 52 tests: pass 52, flags err 0, value err 0, sind
Total 72 tests: pass 72, flags err 0, value err 0, sinhd
Total 102 tests: pass 102, flags err 0, value err 0, sqrtd
Total 321 tests: pass 321, flags err 0, value err 0, subd
Total 54 tests: pass 54, flags err 0, value err 0, tand
Total 72 tests: pass 72, flags err 0, value err 0, tanhd
UCBFAIL clib_DP.output , 25 out of 25 tests completed