[aarch64-port-dev ] RFR: 8189107 - AARCH64: create intrinsic for pow

Andrew Dinn adinn at redhat.com
Thu Aug 23 13:39:56 UTC 2018


On 23/08/18 13:31, Dmitrij Pochepko wrote:
> On 22/08/18 16:43, Andrew Haley wrote:
> well, I suppose the most questionable range is where X is near 0 (it's
> when input X argument is near 1.0).
> I created separate brute force test (run in Xcomp), which compares
> Math.pow with StrictMath.pow using all representable double values
> within given range and found no differences.
> I used input argument range 0.9999...1.0001 (so that X values in this
> polynomial are in [0, 0.000049998]. Input argument range has
> 1.351079888×10¹² double values and for all these values results were
> correct.
I was thinking about this last night and thought precisely the same
thing -- there ought to be a restricted range of X where the difference
between the two computations will manifest most visibly and that range
might be small enough to brute force compare results for a suitably
chosen Y or range of Ys.

However, although I came to the same conclusion as you I was not able to
come up with a rigorous proof that this assumption was valid. Can you
justify the claim that values around 1.0 are the ones to brute force
check. Also, why use Y = 3.0d? (and only that value)? Can you justify
why it is unnecessary to look at any other Y values?

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the hotspot-compiler-dev mailing list