This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/7] sin/cos slow paths: remove large range reduction


On Wed, 21 Mar 2018, Wilco Dijkstra wrote:

> This patch removes the large range reduction code and defers to the huge range
> reduction code.  The first level range reducer supports inputs up to 2^27,
> which is way too large given that inputs for sin/cos are typically small
> (< 10), and optimizing for a smaller range would give a significant speedup.
> 
> Input values above 2^27 are practically never used, so there is no reason for
> supporting range reduction between 2^27 and 2^48.  Removing it significantly
> simplifies code and enables further speedups.  There is about a 2.3x slowdown
> in this range due to __branred being extremely slow (a better algorithm could
> easily more than double performance).

OK.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]