lntue
5ee9787730
[libc][math] Improve the performance of sqrtf128. ( #122578 )
...
Use a combination of polynomial approximation and Newton-Raphson
iterations in 64-bit and 128-bit integers to improve the performance of
sqrtf128. The correct rounding is provided by squaring the result and
comparing it with the argument.
Performance improvement using the newly added perf test:
- My function = the improved implementation from this PR
- Other function = current implementation using
`libc/src/__support/FPUtil/generic/sqrt.h`
```
Performance tests with inputs in denormal range:
-- My function --
Total time : 1260765265 ns
Average runtime : 125.951 ns/op
Ops per second : 7939623 op/s
-- Other function --
Total time : 7160726518 ns
Average runtime : 715.357 ns/op
Ops per second : 1397902 op/s
-- Average runtime ratio --
Mine / Other's : 0.176067
Performance tests with inputs in normal range:
-- My function --
Total time : 373003808 ns
Average runtime : 37.2631 ns/op
Ops per second : 26836189 op/s
-- Other function --
Total time : 7353398916 ns
Average runtime : 734.605 ns/op
Ops per second : 1361275 op/s
-- Average runtime ratio --
Mine / Other's : 0.0507254
```
---------
Co-authored-by: Alexei Sibidanov <sibid@uvic.ca >
2025-02-13 17:49:52 -05:00
..
2024-08-05 14:53:05 -05:00
2025-01-01 17:03:35 -08:00
2025-02-13 17:49:52 -05:00
2025-01-23 12:02:54 -06:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2025-02-10 12:38:55 +01:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-15 14:59:28 -05:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-28 13:47:31 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2025-02-10 12:38:55 +01:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-12-15 18:58:54 +01:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-17 20:44:23 +02:00
2024-07-12 09:28:41 -07:00
2024-11-08 09:56:31 -05:00
2024-07-12 09:28:41 -07:00
2024-08-01 13:36:50 -07:00
2024-08-01 13:36:50 -07:00
2024-08-01 13:36:50 -07:00
2024-08-08 11:41:17 -04:00
2024-07-31 13:07:03 -07:00
2024-07-31 13:07:03 -07:00
2024-07-18 19:50:49 +02:00
2024-07-18 19:50:49 +02:00
2024-07-21 15:55:11 -04:00
2024-07-21 15:55:11 -04:00
2024-07-31 13:07:03 -07:00
2024-07-31 13:07:03 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-06 14:44:01 +02:00
2024-07-12 09:28:41 -07:00
2024-10-12 19:31:12 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-07 15:54:06 +02:00
2024-07-12 09:28:41 -07:00
2024-10-16 16:33:13 +02:00
2024-11-07 23:56:00 +01:00
2024-07-12 09:28:41 -07:00
2024-07-30 18:38:03 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-13 16:48:28 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-18 19:50:49 +02:00
2024-07-18 19:50:49 +02:00
2024-07-18 19:50:49 +02:00
2024-07-18 19:50:49 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-09 10:26:09 -07:00
2024-08-09 10:26:09 -07:00
2024-08-09 10:26:09 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-06 10:19:54 -07:00
2024-08-06 10:19:54 -07:00
2024-08-06 10:19:54 -07:00
2024-08-06 10:19:54 -07:00
2024-08-06 10:19:54 -07:00
2024-08-06 10:19:54 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-18 19:50:49 +02:00
2024-07-18 19:50:49 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-21 11:17:41 -04:00
2024-07-21 11:17:41 -04:00
2024-07-21 11:17:41 -04:00
2024-08-07 13:03:58 -07:00
2024-08-07 13:03:58 -07:00
2024-08-07 13:03:58 -07:00
2024-07-31 23:16:42 -04:00
2024-07-12 09:28:41 -07:00
2024-07-31 23:16:42 -04:00
2024-07-31 23:16:42 -04:00
2024-08-07 08:27:45 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-02 10:14:04 -04:00
2024-10-02 10:14:04 -04:00
2024-10-02 10:14:04 -04:00
2024-10-02 10:14:04 -04:00
2024-10-02 10:14:04 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-01 13:49:28 -04:00
2024-10-01 13:49:28 -04:00
2024-10-01 13:49:28 -04:00
2024-10-01 13:49:28 -04:00
2024-10-01 13:49:28 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-05 14:53:05 -05:00
2024-08-05 14:53:05 -05:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-19 01:10:32 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-19 01:40:40 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-18 22:35:12 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-07 13:03:58 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-08-08 14:33:50 -07:00
2024-07-12 09:28:41 -07:00
2024-08-08 14:33:50 -07:00
2024-08-08 14:33:50 -07:00
2024-08-08 14:33:50 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-30 19:52:47 -04:00
2024-07-12 09:28:41 -07:00
2024-07-30 19:52:47 -04:00
2024-07-30 19:52:47 -04:00
2024-08-08 00:17:20 -04:00
2024-08-08 00:17:20 -04:00
2024-07-12 09:28:41 -07:00
2024-08-08 00:17:20 -04:00
2024-08-08 00:17:20 -04:00
2024-08-08 00:17:20 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-12-03 21:08:46 +01:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-17 20:44:23 +02:00
2024-07-12 09:28:41 -07:00
2024-10-15 18:40:08 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-19 01:41:52 +02:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2025-01-12 23:46:53 -05:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-10-18 14:22:45 +02:00
2024-07-12 09:28:41 -07:00
2024-11-08 09:56:31 -05:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-30 18:58:44 +02:00
2024-07-12 09:28:41 -07:00
2024-07-30 18:58:44 +02:00
2024-07-30 18:58:44 +02:00
2024-08-09 10:18:00 -04:00
2024-07-24 19:53:23 -04:00
2024-07-12 09:28:41 -07:00
2024-07-24 19:53:23 -04:00
2024-07-24 19:53:23 -04:00
2024-07-24 19:53:23 -04:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00
2024-07-12 09:28:41 -07:00