SEGGER Floating-Point Library
The SEGGER Floating-Point Library is an essential part of the SEGGER Runtime Library. It is available stand-alone or as part of the SEGGER Runtime Library package, and already included in the use of SEGGER Embedded Studio.
The floating-point library contains complete, fully optimized and verified floating point functionality, which is required for devices without an FPU. The floating-point emulator, a crucial part of the floating-point library, of the Arm and RISC-V variants are written in assembly language, optimized either for small code size or increased execution speed. For other processor architectures the library has a portable C implementation.
For more information, refer to https://www.segger.com/products/development-tools/runtime-library/technology/floating-point-library
ARM performance
Basic arithmetic performance (Cortex-M)
IEEE-754 Floating-point Library Benchmarks Copyright (c) 2018-2020 SEGGER Microcontroller GmbH. Target: Cortex-M Function Min Max Avg Description -------------- ------ ------ ------ ------------------------------- __aeabi_fadd 34 34 34.0 Random distribution over (0, 1), operands differ __aeabi_fsub 33 43 38.6 Random distribution over (0, 1), operands differ __aeabi_frsub 33 43 38.6 Random distribution over (0, 1), operands differ __aeabi_fmul 26 26 26.0 Random distribution over (0, 1), operands differ __aeabi_fdiv 52 52 52.0 Random distribution over (0, 1), operands differ __aeabi_fcmplt 13 13 13.0 Random distribution over (0, 1), operands differ __aeabi_fcmple 13 13 13.0 Random distribution over (0, 1), operands differ __aeabi_fcmpgt 13 13 13.0 Random distribution over (0, 1), operands differ __aeabi_fcmpge 13 13 13.0 Random distribution over (0, 1), operands differ __aeabi_fcmpeq 7 7 7.0 Random distribution over (0, 1), operands differ __aeabi_dadd 50 57 54.5 Random distribution over (0, 1), operands differ __aeabi_dsub 65 80 71.2 Random distribution over (0, 1), operands differ __aeabi_drsub 65 80 71.2 Random distribution over (0, 1), operands differ __aeabi_dmul 55 57 56.4 Random distribution over (0, 1), operands differ __aeabi_ddiv 135 135 135.0 Random distribution over (0, 1), operands differ __aeabi_dcmplt 14 14 14.0 Random distribution over (0, 1), operands differ __aeabi_dcmple 14 14 14.0 Random distribution over (0, 1), operands differ __aeabi_dcmpgt 14 14 14.0 Random distribution over (0, 1), operands differ __aeabi_dcmpge 14 14 14.0 Random distribution over (0, 1), operands differ __aeabi_dcmpeq 14 14 14.0 Random distribution over (0, 1), operands differ __aeabi_f2iz 9 9 9.0 Random distribution with magnitudes (1..2^31), signed __aeabi_f2uiz 6 6 6.0 Random distribution with magnitudes (1..2^31) __aeabi_f2lz 11 18 13.5 Random distribution with magnitudes (1..2^63), signed __aeabi_f2ulz 10 14 12.0 Random distribution with magnitudes (1..2^63) __aeabi_i2f 10 14 10.5 Random distribution with magnitudes (1..2^31), signed __aeabi_ui2f 7 12 7.5 Random distribution with magnitudes (1..2^31) __aeabi_l2f 16 23 19.0 Random distribution with magnitudes (1..2^63), signed __aeabi_ul2f 11 18 13.8 Random distribution with magnitudes (1..2^63) __aeabi_d2iz 8 12 11.9 Random distribution with magnitudes (1..2^31), signed __aeabi_d2uiz 10 10 10.0 Random distribution with magnitudes (1..2^31) __aeabi_d2lz 14 21 17.5 Random distribution with magnitudes (1..2^63), signed __aeabi_d2ulz 13 16 14.5 Random distribution with magnitudes (1..2^63) __aeabi_i2d 12 12 12.0 Random distribution with magnitudes (1..2^31), signed __aeabi_ui2d 8 8 8.0 Random distribution with magnitudes (1..2^31) __aeabi_l2d 15 21 17.9 Random distribution with magnitudes (1..2^63), signed __aeabi_ul2d 11 15 12.9 Random distribution with magnitudes (1..2^63) __aeabi_f2d 9 9 9.0 Random distribution with magnitudes (1..2^63), signed __aeabi_d2f 11 11 11.0 Random distribution with magnitudes (1..2^63), signed
Mathematical function performance (Cortex-M)
These are the detailed results of the IEEE-754 Floating-point Benchmark run on an Arm Cortex-M4 microcontroller (NXP K66FN2M0):
IEEE-754 Floating-point Library Benchmarks Copyright (c) 2018-2020 SEGGER Microcontroller GmbH. Target: Cortex-M sinf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 21 sin(1e-4) 3A83126F +1.00e-03 3A83126E +1.00e-03 3A83126E +1.00e-03 24.00 0.00 55 sin(1e-3) 3C23D70A +1.00e-02 3C23D657 +1.00e-02 3C23D657 +1.00e-02 24.00 0.00 55 sin(1e-2) 3DCCCCCD +1.00e-01 3DCC7577 +9.98e-02 3DCC7577 +9.98e-02 24.00 0.00 54 sin(1e-1) 3F800000 +1.00e+00 3F576AA4 +8.41e-01 3F576AA4 +8.41e-01 24.00 0.00 139 sin(1) 3FBC7F84 +1.47e+00 3F7EC48E +9.95e-01 3F7EC48E +9.95e-01 24.00 0.00 138 sin(1.47264147) 3FC90FAD +1.57e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 138 sin(1.57079089) 40490FAC +3.14e+00 373A8886 +1.11e-05 373A8886 +1.11e-05 24.00 0.00 106 sinf(3.14158154) 421C4B56 +3.91e+01 3F7B14E5 +9.81e-01 3F7B14E5 +9.81e-01 24.00 0.00 148 sin(39.0735703) 43B18000 +3.55e+02 B7FCDE82 -3.01e-05 B7FCDE82 -3.01e-05 24.00 0.00 152 sin(355) 49800036 +1.05e+06 3F384A92 +7.20e-01 3F384A92 +7.20e-01 24.00 0.00 176 sin(1048582.75) 489965E8 +3.14e+05 BC7BA1B2 -1.54e-02 BC7BA1B2 -1.54e-02 24.00 0.00 151 sin(100000*Pi) 501502F9 +1.00e+10 BEF99A64 -4.88e-01 BEF99A64 -4.88e-01 24.00 0.00 187 sin(1e10) 7E967699 +1.00e+38 3F7D39E2 +9.89e-01 3F7D39E2 +9.89e-01 24.00 0.00 186 sin(1e38) ------ ------ ------ ----------------- 336.00 0.00 1706 Total cosf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 3 cos(1e-4) 3A83126F +1.00e-03 3F7FFFF8 +1.00e+00 3F7FFFF8 +1.00e+00 24.00 0.00 48 cos(1e-3) 3C23D70A +1.00e-02 3F7FFCB9 +1.00e+00 3F7FFCB9 +1.00e+00 24.00 0.00 48 cos(1e-2) 3DCCCCCD +1.00e-01 3F7EB898 +9.95e-01 3F7EB898 +9.95e-01 24.00 0.00 48 cos(1e-1) 3F800000 +1.00e+00 3F0A5140 +5.40e-01 3F0A5140 +5.40e-01 24.00 0.00 136 cos(1) 3FBC7F84 +1.47e+00 3DC8B2D2 +9.80e-02 3DC8B2D2 +9.80e-02 24.00 0.00 103 cos(1.47264147) 3FC90FE7 +1.57e+00 B5C5DDE9 -1.47e-06 B5C5DDE9 -1.47e-06 24.00 0.00 103 cos(1.57079780) 40C90FE6 +6.28e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 136 cos(6.28319073) 43B18000 +3.55e+02 BF800000 -1.00e+00 BF800000 -1.00e+00 24.00 0.00 180 cos(355) 489965E8 +3.14e+05 3F7FF845 +1.00e+00 3F7FF845 +1.00e+00 24.00 0.00 180 cos(100000*Pi) 501502F9 +1.00e+10 3F5F84C5 +8.73e-01 3F5F84C5 +8.73e-01 24.00 0.00 183 cos(1e10) 7E967699 +1.00e+38 3E1655CD +1.47e-01 3E1655CD +1.47e-01 24.00 0.00 182 cos(1e38) ------ ------ ------ ----------------- 288.00 0.00 1350 Total tanf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 25 tan(1e-4) 3A83126F +1.00e-03 3A831272 +1.00e-03 3A831272 +1.00e-03 24.00 0.00 74 tan(1e-3) 3C23D70A +1.00e-02 3C23D870 +1.00e-02 3C23D870 +1.00e-02 24.00 0.00 74 tan(1e-2) 3DCCCCCD +1.00e-01 3DCD7C44 +1.00e-01 3DCD7C44 +1.00e-01 24.00 0.00 73 tan(1e-1) 3F800000 +1.00e+00 3FC75923 +1.56e+00 3FC75923 +1.56e+00 24.00 0.00 258 tan(1) 40CEAB45 +6.46e+00 3E35493C +1.77e-01 3E35493C +1.77e-01 24.00 0.00 258 tan(6.45840693) 43B18000 +3.55e+02 37FCDE82 +3.01e-05 37FCDE82 +3.01e-05 24.00 0.00 282 tan(355) 489965E8 +3.14e+05 BC7BA94B -1.54e-02 BC7BA94B -1.54e-02 24.00 0.00 273 tan(100000*Pi) 501502F9 +1.00e+10 BF0EF000 -5.58e-01 BF0EF000 -5.58e-01 24.00 0.00 304 tan(1e10) 7E967699 +1.00e+38 40D79AC2 +6.74e+00 40D79AC2 +6.74e+00 24.00 0.00 321 tan(1e38) ------ ------ ------ ----------------- 240.00 0.00 1942 Total expf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 00000000 +0.00e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 3 expf(0) 3727C5AC +1.00e-05 3F800054 +1.00e+00 3F800054 +1.00e+00 24.00 0.00 44 expf(1e-5) 38D1B717 +1.00e-04 3F800347 +1.00e+00 3F800347 +1.00e+00 24.00 0.00 44 expf(1e-4) 3951B717 +2.00e-04 3F80068E +1.00e+00 3F80068E +1.00e+00 24.00 0.00 44 expf(2e-4) 39D1B717 +4.00e-04 3F800D1C +1.00e+00 3F800D1C +1.00e+00 24.00 0.00 43 expf(4e-4) 39EBEDFA +4.50e-04 3F800EC0 +1.00e+00 3F800EC0 +1.00e+00 24.00 0.00 44 expf(4.5e-4) 3A83126F +1.00e-03 3F8020C9 +1.00e+00 3F8020C9 +1.00e+00 24.00 0.00 44 expf(1e-3) 3E80A138 +2.51e-01 3FA48EBB +1.29e+00 3FA48EBB +1.29e+00 24.00 0.00 81 expf(0.25123) 3F0D1D69 +5.51e-01 3FDE2123 +1.74e+00 3FDE2123 +1.74e+00 24.00 0.00 80 expf(0.55123) 4101999A +8.10e+00 454DE782 +3.29e+03 454DE782 +3.29e+03 24.00 0.00 81 expf(8.1) 4180CCCD +1.61e+01 4B15DA03 +9.82e+06 4B15DA03 +9.82e+06 24.00 0.00 81 expf(16.1) ------ ------ ------ ----------------- 264.00 0.00 589 Total logf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 C13834F1 -1.15e+01 C13834F1 -1.15e+01 24.00 0.00 158 logf(1e-5) 44800000 +1.02e+03 40DDCE9E +6.93e+00 40DDCE9E +6.93e+00 24.00 0.00 100 logf(1024) 45828A00 +4.18e+03 41056606 +8.34e+00 41056606 +8.34e+00 24.00 0.00 140 logf(4177.25) ------ ------ ------ ----------------- 72.00 0.00 398 Total sinhf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 3727C5AC +1.00e-05 3727C5AC +1.00e-05 24.00 0.00 22 sinhf(1e-5) 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 23 sinhf(1e-4) 3951B717 +2.00e-04 3951B717 +2.00e-04 3951B717 +2.00e-04 24.00 0.00 23 sinhf(2e-4) 39D1B717 +4.00e-04 39D1B717 +4.00e-04 39D1B717 +4.00e-04 24.00 0.00 60 sinhf(4e-4) 39EBEDFA +4.50e-04 39EBEDFB +4.50e-04 39EBEDFB +4.50e-04 24.00 0.00 59 sinhf(4.5e-4) 3A83126F +1.00e-03 3A831270 +1.00e-03 3A831270 +1.00e-03 24.00 0.00 60 sinhf(1e-3) 3E80A138 +2.51e-01 3E81FCB6 +2.54e-01 3E81FCB6 +2.54e-01 24.00 0.00 60 sinhf(0.25123) 3F0D1D69 +5.51e-01 3F145EE3 +5.80e-01 3F145EE3 +5.80e-01 24.00 0.00 119 sinhf(0.55123) 4101999A +8.10e+00 44CDE781 +1.65e+03 44CDE781 +1.65e+03 24.00 0.00 121 sinhf(8.1) 4180CCCD +1.61e+01 4A95DA03 +4.91e+06 4A95DA03 +4.91e+06 24.00 0.00 108 sinhf(16.1) ------ ------ ------ ----------------- 240.00 0.00 655 Total coshf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 28 coshf(1e-5) 38D1B717 +1.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 28 coshf(1e-4) 3951B717 +2.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 29 coshf(2e-4) 39D1B717 +4.00e-04 3F800001 +1.00e+00 3F800001 +1.00e+00 24.00 0.00 48 coshf(4e-4) 39EBEDFA +4.50e-04 3F800001 +1.00e+00 3F800001 +1.00e+00 24.00 0.00 48 coshf(4.5e-4) 3A83126F +1.00e-03 3F800004 +1.00e+00 3F800004 +1.00e+00 24.00 0.00 47 coshf(1e-3) 3E80A138 +2.51e-01 3F840F8D +1.03e+00 3F840F8D +1.03e+00 24.00 0.00 48 coshf(0.25123) 3F0D1D69 +5.51e-01 3F93F1B2 +1.16e+00 3F93F1B2 +1.16e+00 24.00 0.00 111 coshf(0.55123) 4101999A +8.10e+00 44CDE784 +1.65e+03 44CDE784 +1.65e+03 24.00 0.00 114 coshf(8.1) 4180CCCD +1.61e+01 4A95DA03 +4.91e+06 4A95DA03 +4.91e+06 24.00 0.00 100 coshf(16.1) ------ ------ ------ ----------------- 240.00 0.00 601 Total tanhf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3E800000 +2.50e-01 3E7ACBF5 +2.45e-01 3E7ACBF5 +2.45e-01 24.00 0.00 66 tanhf(0.25) 3F800000 +1.00e+00 3F42F7D6 +7.62e-01 3F42F7D6 +7.62e-01 24.00 0.00 108 tanhf(1) 41200000 +1.00e+01 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 18 tanhf(10) ------ ------ ------ ----------------- 72.00 0.00 192 Total ======= ====== ====== ================= 1752.00 0.00 7433 Grand Total ======= ====== ====== =================
RISC-V performance
Basic arithmetic performance (RV32IMAC)
These are the detailed results of the IEEE-754 Floating-point Benchmark run on a RISC-V RV32IMAC microcontroller (GigaDevice GD32VF103):
IEEE-754 Floating-point Library Benchmarks Copyright (c) 2018-2020 SEGGER Microcontroller GmbH. Target: RV32IMAC Function Min Max Avg Description -------------- ------ ------ ------ ------------------------------- __addsf3 45 60 49.5 Random distribution over (0, 1), operands differ __subsf3 42 84 62.2 Random distribution over (0, 1), operands differ __mulsf3 37 57 39.3 Random distribution over (0, 1), operands differ __divsf3 67 70 67.0 Random distribution over (0, 1), operands differ __ltsf2 11 15 11.0 Random distribution over (0, 1), operands differ __lesf2 10 14 10.0 Random distribution over (0, 1), operands differ __gtsf2 10 17 10.0 Random distribution over (0, 1), operands differ __gesf2 11 14 11.0 Random distribution over (0, 1), operands differ __eqsf2 10 13 10.0 Random distribution over (0, 1), operands differ __nesf2 10 10 10.0 Random distribution over (0, 1), operands differ __adddf3 52 89 62.8 Random distribution over (0, 1), operands differ __subdf3 60 123 82.8 Random distribution over (0, 1), operands differ __muldf3 68 88 75.0 Random distribution over (0, 1), operands differ __divdf3 192 204 197.2 Random distribution over (0, 1), operands differ __ltdf2 15 20 16.0 Random distribution over (0, 1), operands differ __ledf2 15 19 16.0 Random distribution over (0, 1), operands differ __gtdf2 15 20 16.1 Random distribution over (0, 1), operands differ __gedf2 15 19 16.1 Random distribution over (0, 1), operands differ __eqdf2 14 17 14.0 Random distribution over (0, 1), operands differ __eqdf2 14 14 14.0 Random distribution over (0, 1), operands differ __fixsfsi 14 14 14.0 Random distribution with magnitudes (1..2^31), signed __fixunssfsi 13 13 13.0 Random distribution with magnitudes (1..2^31) __fixsfdi 20 29 23.2 Random distribution with magnitudes (1..2^63), signed __fixunssfdi 15 23 18.9 Random distribution with magnitudes (1..2^63) __floatsisf 28 47 32.6 Random distribution with magnitudes (1..2^31), signed __floatunsisf 28 42 33.0 Random distribution with magnitudes (1..2^31) __floatdisf 39 66 49.1 Random distribution with magnitudes (1..2^63), signed __floatundisf 35 58 44.1 Random distribution with magnitudes (1..2^63) __fixdfsi 9 20 16.8 Random distribution with magnitudes (1..2^31), signed __fixunsdfsi 9 14 13.8 Random distribution with magnitudes (1..2^31) __fixdfdi 9 34 26.9 Random distribution with magnitudes (1..2^63), signed __fixunsdfdi 9 25 21.5 Random distribution with magnitudes (1..2^63) __floatsidf 28 47 31.6 Random distribution with magnitudes (1..2^31), signed __floatunsidf 19 32 23.9 Random distribution with magnitudes (1..2^31) __floatdidf 30 73 45.1 Random distribution with magnitudes (1..2^63), signed __floatundidf 27 62 39.3 Random distribution with magnitudes (1..2^63) __extendsfdf2 14 18 14.1 Random distribution with magnitudes (1..2^63), signed __truncdfsf2 25 36 25.1 Random distribution with magnitudes (1..2^63), signed
Mathematical function performance (RV32IMAC)
These are the detailed results of the IEEE-754 Floating-point Benchmark run on a RISC-V RV32IMAC microcontroller (GigaDevice GD32VF103):
IEEE-754 Floating-point Library Benchmarks Copyright (c) 2018-2020 SEGGER Microcontroller GmbH. Target: RV32IMAC sinf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 8 sin(1e-4) 3A83126F +1.00e-03 3A83126E +1.00e-03 3A83126E +1.00e-03 24.00 0.00 70 sin(1e-3) 3C23D70A +1.00e-02 3C23D657 +1.00e-02 3C23D657 +1.00e-02 24.00 0.00 67 sin(1e-2) 3DCCCCCD +1.00e-01 3DCC7577 +9.98e-02 3DCC7577 +9.98e-02 24.00 0.00 67 sin(1e-1) 3F800000 +1.00e+00 3F576AA4 +8.41e-01 3F576AA4 +8.41e-01 24.00 0.00 182 sin(1) 3FBC7F84 +1.47e+00 3F7EC48E +9.95e-01 3F7EC48E +9.95e-01 24.00 0.00 193 sin(1.47264147) 3FC90FAD +1.57e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 196 sin(1.57079089) 40490FAC +3.14e+00 373A8886 +1.11e-05 373A8886 +1.11e-05 24.00 0.00 153 sin(3.14158154) 421C4B56 +3.91e+01 3F7B14E5 +9.81e-01 3F7B14E5 +9.81e-01 24.00 0.00 193 sin(39.0735703) 43B18000 +3.55e+02 B7FCDE82 -3.01e-05 B7FCDE82 -3.01e-05 24.00 0.00 219 sin(355) 49800036 +1.05e+06 3F384A92 +7.20e-01 3F384A92 +7.20e-01 24.00 0.00 236 sin(1048582.75) 489965E8 +3.14e+05 BC7BA1B2 -1.54e-02 BC7BA1B2 -1.54e-02 24.00 0.00 214 sin(100000*Pi) 501502F9 +1.00e+10 BEF99A64 -4.88e-01 BEF99A64 -4.88e-01 24.00 0.00 255 sin(1e10) 7E967699 +1.00e+38 3F7D39E2 +9.89e-01 3F7D39E2 +9.89e-01 24.00 0.00 248 sin(1e38) ------ ------ ------ ----------------- 336.00 0.00 2301 Total cosf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 10 cos(1e-4) 3A83126F +1.00e-03 3F7FFFF8 +1.00e+00 3F7FFFF8 +1.00e+00 24.00 0.00 50 cos(1e-3) 3C23D70A +1.00e-02 3F7FFCB9 +1.00e+00 3F7FFCB9 +1.00e+00 24.00 0.00 43 cos(1e-2) 3DCCCCCD +1.00e-01 3F7EB898 +9.95e-01 3F7EB898 +9.95e-01 24.00 0.00 43 cos(1e-1) 3F800000 +1.00e+00 3F0A5140 +5.40e-01 3F0A5140 +5.40e-01 24.00 0.00 186 cos(1) 3FBC7F84 +1.47e+00 3DC8B2D2 +9.80e-02 3DC8B2D2 +9.80e-02 24.00 0.00 158 cos(1.47264147) 3FC90FE7 +1.57e+00 B5C5DDE9 -1.47e-06 B5C5DDE9 -1.47e-06 24.00 0.00 161 cos(1.57079780) 40C90FE6 +6.28e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 190 cos(6.28319073) 43B18000 +3.55e+02 BF800000 -1.00e+00 BF800000 -1.00e+00 24.00 0.00 252 cos(355) 489965E8 +3.14e+05 3F7FF845 +1.00e+00 3F7FF845 +1.00e+00 24.00 0.00 251 cos(100000*Pi) 501502F9 +1.00e+10 3F5F84C5 +8.73e-01 3F5F84C5 +8.73e-01 24.00 0.00 245 cos(1e10) 7E967699 +1.00e+38 3E1655CD +1.47e-01 3E1655CD +1.47e-01 24.00 0.00 257 cos(1e38) ------ ------ ------ ----------------- 288.00 0.00 1846 Total tanf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 7 tan(1e-4) 3A83126F +1.00e-03 3A831272 +1.00e-03 3A831272 +1.00e-03 24.00 0.00 92 tan(1e-3) 3C23D70A +1.00e-02 3C23D870 +1.00e-02 3C23D870 +1.00e-02 24.00 0.00 87 tan(1e-2) 3DCCCCCD +1.00e-01 3DCD7C44 +1.00e-01 3DCD7C44 +1.00e-01 24.00 0.00 86 tan(1e-1) 3F800000 +1.00e+00 3FC75923 +1.56e+00 3FC75923 +1.56e+00 24.00 0.00 403 tan(1) 40CEAB45 +6.46e+00 3E35493C +1.77e-01 3E35493C +1.77e-01 24.00 0.00 397 tan(6.45840693) 43B18000 +3.55e+02 37FCDE82 +3.01e-05 37FCDE82 +3.01e-05 24.00 0.00 444 tan(355) 489965E8 +3.14e+05 BC7BA94B -1.54e-02 BC7BA94B -1.54e-02 24.00 0.00 430 tan(100000*Pi) 501502F9 +1.00e+10 BF0EF000 -5.58e-01 BF0EF000 -5.58e-01 24.00 0.00 458 tan(1e10) 7E967699 +1.00e+38 40D79AC2 +6.74e+00 40D79AC2 +6.74e+00 24.00 0.00 483 tan(1e38) ------ ------ ------ ----------------- 240.00 0.00 2887 Total expf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 00000000 +0.00e+00 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 10 expf(0) 3727C5AC +1.00e-05 3F800054 +1.00e+00 3F800054 +1.00e+00 24.00 0.00 45 expf(1e-5) 38D1B717 +1.00e-04 3F800347 +1.00e+00 3F800347 +1.00e+00 24.00 0.00 41 expf(1e-4) 3951B717 +2.00e-04 3F80068E +1.00e+00 3F80068E +1.00e+00 24.00 0.00 38 expf(2e-4) 39D1B717 +4.00e-04 3F800D1C +1.00e+00 3F800D1C +1.00e+00 24.00 0.00 38 expf(4e-4) 39EBEDFA +4.50e-04 3F800EC0 +1.00e+00 3F800EC0 +1.00e+00 24.00 0.00 38 expf(4.5e-4) 3A83126F +1.00e-03 3F8020C9 +1.00e+00 3F8020C9 +1.00e+00 24.00 0.00 38 expf(1e-3) 3E80A138 +2.51e-01 3FA48EBB +1.29e+00 3FA48EBB +1.29e+00 24.00 0.00 86 expf(0.25123) 3F0D1D69 +5.51e-01 3FDE2123 +1.74e+00 3FDE2123 +1.74e+00 24.00 0.00 89 expf(0.55123) 4101999A +8.10e+00 454DE782 +3.29e+03 454DE782 +3.29e+03 24.00 0.00 88 expf(8.1) 4180CCCD +1.61e+01 4B15DA03 +9.82e+06 4B15DA03 +9.82e+06 24.00 0.00 86 expf(16.1) ------ ------ ------ ----------------- 264.00 0.00 597 Total logf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 C13834F1 -1.15e+01 C13834F1 -1.15e+01 24.00 0.00 265 logf(1e-5) 44800000 +1.02e+03 40DDCE9E +6.93e+00 40DDCE9E +6.93e+00 24.00 0.00 183 logf(1024) 45828A00 +4.18e+03 41056606 +8.34e+00 41056606 +8.34e+00 24.00 0.00 240 logf(4177.25) ------ ------ ------ ----------------- 72.00 0.00 688 Total sinhf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 3727C5AC +1.00e-05 3727C5AC +1.00e-05 24.00 0.00 14 sinhf(1e-5) 38D1B717 +1.00e-04 38D1B717 +1.00e-04 38D1B717 +1.00e-04 24.00 0.00 14 sinhf(1e-4) 3951B717 +2.00e-04 3951B717 +2.00e-04 3951B717 +2.00e-04 24.00 0.00 13 sinhf(2e-4) 39D1B717 +4.00e-04 39D1B717 +4.00e-04 39D1B717 +4.00e-04 24.00 0.00 67 sinhf(4e-4) 39EBEDFA +4.50e-04 39EBEDFB +4.50e-04 39EBEDFB +4.50e-04 24.00 0.00 59 sinhf(4.5e-4) 3A83126F +1.00e-03 3A831270 +1.00e-03 3A831270 +1.00e-03 24.00 0.00 59 sinhf(1e-3) 3E80A138 +2.51e-01 3E81FCB6 +2.54e-01 3E81FCB6 +2.54e-01 24.00 0.00 59 sinhf(0.25123) 3F0D1D69 +5.51e-01 3F145EE3 +5.80e-01 3F145EE3 +5.80e-01 24.00 0.00 137 sinhf(0.55123) 4101999A +8.10e+00 44CDE781 +1.65e+03 44CDE781 +1.65e+03 24.00 0.00 133 sinhf(8.1) 4180CCCD +1.61e+01 4A95DA03 +4.91e+06 4A95DA03 +4.91e+06 24.00 0.00 112 sinhf(16.1) ------ ------ ------ ----------------- 240.00 0.00 667 Total coshf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3727C5AC +1.00e-05 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 26 coshf(1e-5) 38D1B717 +1.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 24 coshf(1e-4) 3951B717 +2.00e-04 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 24 coshf(2e-4) 39D1B717 +4.00e-04 3F800001 +1.00e+00 3F800001 +1.00e+00 24.00 0.00 50 coshf(4e-4) 39EBEDFA +4.50e-04 3F800001 +1.00e+00 3F800001 +1.00e+00 24.00 0.00 50 coshf(4.5e-4) 3A83126F +1.00e-03 3F800004 +1.00e+00 3F800004 +1.00e+00 24.00 0.00 50 coshf(1e-3) 3E80A138 +2.51e-01 3F840F8D +1.03e+00 3F840F8D +1.03e+00 24.00 0.00 50 coshf(0.25123) 3F0D1D69 +5.51e-01 3F93F1B2 +1.16e+00 3F93F1B2 +1.16e+00 24.00 0.00 140 coshf(0.55123) 4101999A +8.10e+00 44CDE784 +1.65e+03 44CDE784 +1.65e+03 24.00 0.00 139 coshf(8.1) 4180CCCD +1.61e+01 4A95DA03 +4.91e+06 4A95DA03 +4.91e+06 24.00 0.00 126 coshf(16.1) ------ ------ ------ ----------------- 240.00 0.00 679 Total tanhf() Bits Bits Input Expected Calculated Right Wrong Cycles Comment --------:--------- --------:--------- --------:--------- ----- ----- ------ ----------------- 3E800000 +2.50e-01 3E7ACBF5 +2.45e-01 3E7ACBF5 +2.45e-01 24.00 0.00 89 tanhf(0.25) 3F800000 +1.00e+00 3F42F7D6 +7.62e-01 3F42F7D6 +7.62e-01 24.00 0.00 145 tanhf(1) 41200000 +1.00e+01 3F800000 +1.00e+00 3F800000 +1.00e+00 24.00 0.00 14 tanhf(10) ------ ------ ------ ----------------- 72.00 0.00 248 Total ======= ====== ====== ================= 1752.00 0.00 9913 Grand Total ======= ====== ====== =================