Improve tgamma accuracy (bug 18613) [committed]
Joseph Myers
joseph@codesourcery.com
Thu Jul 2 13:40:00 GMT 2015
On Thu, 2 Jul 2015, Szabolcs Nagy wrote:
> hm i tried to verify this on aarch64 and also regenerate the libm ulps
>
> but the new ulps file somehow become much smaller than expected
>
> $ grep Function NewUlps
> Function: Real part of "cexp_downward":
> Function: Imaginary part of "cexp_downward":
> Function: Real part of "cexp_towardzero":
> Function: Imaginary part of "cexp_towardzero":
> Function: Real part of "cexp_upward":
> Function: Imaginary part of "cexp_upward":
> Function: Real part of "csin_upward":
> Function: Real part of "csinh_downward":
> Function: "jn_downward":
> Function: "jn_towardzero":
> Function: "jn_upward":
> Function: "tgamma_downward":
> Function: "tgamma_towardzero":
> Function: "tgamma_upward":
>
> so most functions have no errors and 'make regen-ulps'
> has no error output.
Those are the cases for which tests were only recently added (previously
not tested in all rounding modes). But NewUlps is created by adding the
new ulps to the old ones, not just taking the new ones on their own. (I
recommend truncating the libm-test-ulps file in the source tree before
running "make regen-ulps" anyway, so that you get ulps reductions as well
as increases and new ulps.)
A proper from-scratch regeneration (starting with the existing file
truncated) should give you a file very similar to the mips64 update I
recently checked in, since both use the same floating-point formats and
neither has custom versions of any libm functions whose results aren't
exactly determined.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list