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