This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, nd <nd at arm dot com>
- Date: Thu, 22 Mar 2018 22:13:43 +0000
- Subject: Re: [PATCH 1/7] sin/cos slow paths: avoid slow paths for small inputs
- References: <DB6PR0801MB2053D7E3F614417A60F761BC83AA0@DB6PR0801MB2053.eurprd08.prod.outlook.com>
On Wed, 21 Mar 2018, 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.
Joseph S. Myers