Comparing the run time of math functions from LLVM libc
with the MSVCRT libc:
| function | perf-LLVM libc | perf-MSVCRT |
| ceilf | 2.36 mins (141491389600 ns) | 47.10 sec (47100940100 ns) |
| exp2f | 6.37 mins (358441794700 ns) | 12.39 mins (719404388300 ns) |
| expf | 6.35 mins (381204661800 ns) | 6.17 mins (346150163200 ns) |
| fabsf | 1.18 mins (78425546600 ns) | 53.75 sec (53745301900 ns) |
| floorf | 3.15 mins (164770963800 ns) | 45.94 sec (45935988400 ns) |
| logbf | 4.38 mins (262508058800 ns) | 55.47 sec (55466377700 ns) |
| nearbyintf | 3.20 mins (167972868000 ns) | 9.13 mins (523822963600 ns) |
| rintf | 3.20 mins (168001498700 ns) | 22.35 mins (1341266448800 ns) |
| roundf | 2.35 mins (141151500600 ns) | 1.42 mins (85326429800 ns) |
| truncf | 2.31 mins (114846424000 ns) | 59.41 sec (59414309100 ns) |
Evaluating the number of differing results in Windows:
| function | diff |
| ceilf | 8388606 differing results |
| exp2f | 213303887 differing results |
| expf | 193922 differing results |
| fabsf | 8388606 differing results |
| floorf | 8388606 differing results |
| logbf | 0 differing results |
| nearbyintf | 0 differing results |
| rintf | 0 differing results |
| roundf | 0 differing results |
| truncf | 0 differing results |