[COMMITTED] ieee754: Remove slow paths from asin and acos

Siddhesh Poyarekar siddhesh@sourceware.org
Fri Dec 18 09:26:32 GMT 2020


On 12/18/20 1:58 PM, Paul Zimmermann wrote:
>         Hi,
> 
>> Date: Fri, 18 Dec 2020 12:39:26 +0530
>> From: Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org>
>>
>> Looks like this patchset was approved but never committed.  I have
>> pushed it now:
>>
>> https://sourceware.org/pipermail/glibc-cvs/2020q4/071274.html
>> https://sourceware.org/pipermail/glibc-cvs/2020q4/071275.html
>>
>> Siddhesh
> 
> note that acos() was not correctly rounded before (x=0x1.fffff3634acd6p-1
> gave an error of 0.5000000044534775 ulps [1]).

That seems within an acceptable range for glibc; some years ago we gave 
up trying to be correctly rounded.

> I did run "make bench" in 2.32 and after those patches.
> 
> 2.32:
>    "acos": {
>     "": {
>      "duration": 3.63669e+09,
>      "iterations": 2.43e+07,
>      "max": 892.2,
>      "min": 15.357,
>      "mean": 149.658
>     },
>    "asin": {
>     "": {
>      "duration": 3.58039e+09,
>      "iterations": 2.5e+07,
>      "max": 488.568,
>      "min": 15.231,
>      "mean": 143.216
>     },
> 
> after:
>    "acos": {
>     "": {
>      "duration": 3.65234e+09,
>      "iterations": 2.43e+07,
>      "max": 1015,
>      "min": 15.456,
>      "mean": 150.302
>     },
>    "asin": {
>     "": {
>      "duration": 3.61159e+09,
>      "iterations": 2.5e+07,
>      "max": 1011.85,
>      "min": 16.131,
>      "mean": 144.464
>     },
> 
> It does not seem the maximal time did decrease. Can someone else check?
> 

That may just be due to the slow inputs not being represented in the 
synthetic workload in the benchmark; IIRC I had auto-generated a random 
set for the non-mp paths.

Siddhesh


More information about the Libc-alpha mailing list