This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 1/6] Remove slow paths from sin/cos
- From: Siddhesh Poyarekar <siddhesh at gotplt dot org>
- To: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Cc: nd <nd at arm dot com>
- Date: Fri, 9 Mar 2018 21:24:42 +0530
- Subject: Re: [PATCH 1/6] Remove slow paths from sin/cos
- Authentication-results: sourceware.org; auth=none
- References: <DB6PR0801MB2053AD9AD20C0A43F628239683DE0@DB6PR0801MB2053.eurprd08.prod.outlook.com>
On Friday 09 March 2018 09:14 PM, Wilco Dijkstra wrote:
> This series of patches removes the slow patchs from sin, cos and sincos.
> Besides greatly simplifying the implementation, the new version is also much
> faster for inputs up to PI (41% faster) and for large inputs needing range
> reduction (27% faster).
>
> ULP is ~0.55 with no errors found after testing 1.6 billion inputs across most
> of the range with mpsin and mpcos. The number of incorrectly rounded results
> (ie. ULP >0.5) is at most ~2750 per million inputs between 0.125 and 0.5,
> the average is ~850 per million between 0 and PI.
>
> Tested on AArch64 and x86_64 with no regressions.
>
> The first patch removes the slow paths for the cases where the input is small
> and doesn't require range reduction. Update ULP tables for sin, cos and sincos
> on AArch64 and x86_64.
Please drop the mp benchtests as well (the ##name:768bits namespaces).
A separate pre-approved patch to simply drop that name line is
sufficient once these slow paths are removed.
Siddhesh