Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 15 Aug 2021 00:45:12 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: Damian McGuckin <damianm@....com.au>
Cc: musl@...ts.openwall.com
Subject: Re: [PATCH #2] Properly simplified nextafter()

* Damian McGuckin <damianm@....com.au> [2021-08-14 14:07:34 +1000]:
> On Fri, 13 Aug 2021, Stefan Kanthak wrote:
> > > It may be possible to reduce the number of such ops too; not sure. But
> > > there's no way to eliminate them.
> 
> Replacing the second FORCE'd expression with
> 
> 	FORCE((ux.f + x) * (0x1.0p-52 * 0.25));
> 
> eliminates one floating point OP, assuming the optimiser does the right
> thing to
> 
> 	epsilon / 4
> 
> in the expression. Some preliminary testing seems to suggest that the same
> exceptions get raised.
> 
> > It's definitely possible to do a strength reduction and get rid of the
> > multiplications.
> 
> But then how is the exception still raised, or are we talking soft FP?

that does not work, i think.

but the subnormal result case is not worth optimizing.
(or rather, i prefer to optimize cold code paths for size)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.