public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [COMMITTED] arm: update libm test ulps
@ 2021-04-08  8:58 Szabolcs Nagy
  2021-04-11 18:04 ` Vineet Gupta
  0 siblings, 1 reply; 5+ messages in thread
From: Szabolcs Nagy @ 2021-04-08  8:58 UTC (permalink / raw)
  To: libc-alpha

Updated after commits 9acda61d94acc5348c2330f2519a14d1a4a37e73
and 43576de04afc6a0896a3ecc094e1581069a0652a.
---
 sysdeps/arm/libm-test-ulps | 50 +++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
index cdb635ee3d..f7e6046da4 100644
--- a/sysdeps/arm/libm-test-ulps
+++ b/sysdeps/arm/libm-test-ulps
@@ -851,35 +851,35 @@ double: 1
 
 Function: "j0":
 double: 2
-float: 8
+float: 9
 
 Function: "j0_downward":
-double: 2
-float: 4
+double: 5
+float: 9
 
 Function: "j0_towardzero":
-double: 4
-float: 5
+double: 6
+float: 9
 
 Function: "j0_upward":
-double: 4
-float: 5
+double: 9
+float: 9
 
 Function: "j1":
-double: 2
+double: 4
 float: 9
 
 Function: "j1_downward":
-double: 3
-float: 5
+double: 5
+float: 8
 
 Function: "j1_towardzero":
-double: 3
-float: 2
+double: 4
+float: 8
 
 Function: "j1_upward":
-double: 3
-float: 5
+double: 9
+float: 9
 
 Function: "jn":
 double: 4
@@ -1074,7 +1074,7 @@ double: 9
 float: 8
 
 Function: "tgamma_downward":
-double: 8
+double: 9
 float: 7
 
 Function: "tgamma_towardzero":
@@ -1087,35 +1087,35 @@ float: 8
 
 Function: "y0":
 double: 3
-float: 8
+float: 9
 
 Function: "y0_downward":
 double: 3
-float: 6
+float: 9
 
 Function: "y0_towardzero":
-double: 3
-float: 3
+double: 4
+float: 9
 
 Function: "y0_upward":
 double: 3
-float: 6
+float: 9
 
 Function: "y1":
 double: 3
-float: 2
+float: 9
 
 Function: "y1_downward":
-double: 3
-float: 2
+double: 6
+float: 9
 
 Function: "y1_towardzero":
 double: 3
-float: 2
+float: 9
 
 Function: "y1_upward":
 double: 7
-float: 2
+float: 9
 
 Function: "yn":
 double: 3
-- 
2.17.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [COMMITTED] arm: update libm test ulps
  2021-04-08  8:58 [COMMITTED] arm: update libm test ulps Szabolcs Nagy
@ 2021-04-11 18:04 ` Vineet Gupta
  2021-04-13  9:52   ` Szabolcs Nagy
  0 siblings, 1 reply; 5+ messages in thread
From: Vineet Gupta @ 2021-04-11 18:04 UTC (permalink / raw)
  To: Szabolcs Nagy, libc-alpha, Carlos O'Donell,
	Adhemerval Zanella, Joseph Myers

On 4/8/21 1:58 AM, Szabolcs Nagy via Libc-alpha wrote:
> Updated after commits 9acda61d94acc5348c2330f2519a14d1a4a37e73
> and 43576de04afc6a0896a3ecc094e1581069a0652a.

Is there a better way for this to be done at the time of original change 
other than running the tests on all affected architectures. arches 
always seem to be chasing these kind of changes ...

> ---
>   sysdeps/arm/libm-test-ulps | 50 +++++++++++++++++++-------------------
>   1 file changed, 25 insertions(+), 25 deletions(-)
> 
> diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
> index cdb635ee3d..f7e6046da4 100644
> --- a/sysdeps/arm/libm-test-ulps
> +++ b/sysdeps/arm/libm-test-ulps
> @@ -851,35 +851,35 @@ double: 1
>   
>   Function: "j0":
>   double: 2
> -float: 8
> +float: 9
>   
>   Function: "j0_downward":
> -double: 2
> -float: 4
> +double: 5
> +float: 9

[snip]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [COMMITTED] arm: update libm test ulps
  2021-04-11 18:04 ` Vineet Gupta
@ 2021-04-13  9:52   ` Szabolcs Nagy
  2021-04-13 15:01     ` Adhemerval Zanella
  0 siblings, 1 reply; 5+ messages in thread
From: Szabolcs Nagy @ 2021-04-13  9:52 UTC (permalink / raw)
  To: Vineet Gupta
  Cc: libc-alpha, Carlos O'Donell, Adhemerval Zanella, Joseph Myers

The 04/11/2021 18:04, Vineet Gupta wrote:
> On 4/8/21 1:58 AM, Szabolcs Nagy via Libc-alpha wrote:
> > Updated after commits 9acda61d94acc5348c2330f2519a14d1a4a37e73
> > and 43576de04afc6a0896a3ecc094e1581069a0652a.
> 
> Is there a better way for this to be done at the time of original change 
> other than running the tests on all affected architectures. arches 
> always seem to be chasing these kind of changes ...

i think there are only small variations between targets for
float and double, so the ulp error limits for those could be
shared (unless a target has its own implementation with
different quality requirement for some reason).

long double is more target specific. i think the tests could
be organised such that each sysdeps/ieee754/* directory has
its own ulp limits file and the target picks up the right one.

and libmvec needs target specific ulp limits.

i don't know how hard it would be to implement this.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [COMMITTED] arm: update libm test ulps
  2021-04-13  9:52   ` Szabolcs Nagy
@ 2021-04-13 15:01     ` Adhemerval Zanella
  2021-04-13 18:02       ` Joseph Myers
  0 siblings, 1 reply; 5+ messages in thread
From: Adhemerval Zanella @ 2021-04-13 15:01 UTC (permalink / raw)
  To: Szabolcs Nagy, Vineet Gupta; +Cc: libc-alpha, Carlos O'Donell, Joseph Myers



On 13/04/2021 06:52, Szabolcs Nagy wrote:
> The 04/11/2021 18:04, Vineet Gupta wrote:
>> On 4/8/21 1:58 AM, Szabolcs Nagy via Libc-alpha wrote:
>>> Updated after commits 9acda61d94acc5348c2330f2519a14d1a4a37e73
>>> and 43576de04afc6a0896a3ecc094e1581069a0652a.
>>
>> Is there a better way for this to be done at the time of original change 
>> other than running the tests on all affected architectures. arches 
>> always seem to be chasing these kind of changes ...
> 
> i think there are only small variations between targets for
> float and double, so the ulp error limits for those could be
> shared (unless a target has its own implementation with
> different quality requirement for some reason).
> 
> long double is more target specific. i think the tests could
> be organised such that each sysdeps/ieee754/* directory has
> its own ulp limits file and the target picks up the right one.
> 
> and libmvec needs target specific ulp limits.
> 
> i don't know how hard it would be to implement this.
> 

The math/libm-test-support.c imposes maximum ulp limits depending of 
the underling type:

 228   if (testing_ibm128)
 229     /* The documented accuracy of IBM long double division is 3ulp
 230        (see libgcc/config/rs6000/ibm-ldouble-format), so do not
 231        require better accuracy for libm functions that are exactly
 232        defined for other formats.  */
 233     max_valid_error = exact ? 3 : 16;
 234   else
 235     max_valid_error = exact ? 0 : 9;

And if I recall correctly there was a suggestion to consolidate and/or
remove the ulps file altogether and use the maximum valid error as the
threshold to report regressions.  The only drawback I see of moving
towards it is each architecture won't see if some change has degraded
the function precision.

But I tend to agree that using per-architecture ulp files do not add
much, since arch maintainer tend todig into the precision issues only
when it is higher the the tests threshold.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [COMMITTED] arm: update libm test ulps
  2021-04-13 15:01     ` Adhemerval Zanella
@ 2021-04-13 18:02       ` Joseph Myers
  0 siblings, 0 replies; 5+ messages in thread
From: Joseph Myers @ 2021-04-13 18:02 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: Szabolcs Nagy, Vineet Gupta, libc-alpha

On Tue, 13 Apr 2021, Adhemerval Zanella via Libc-alpha wrote:

> The math/libm-test-support.c imposes maximum ulp limits depending of 
> the underling type:
> 
>  228   if (testing_ibm128)
>  229     /* The documented accuracy of IBM long double division is 3ulp
>  230        (see libgcc/config/rs6000/ibm-ldouble-format), so do not
>  231        require better accuracy for libm functions that are exactly
>  232        defined for other formats.  */
>  233     max_valid_error = exact ? 3 : 16;
>  234   else
>  235     max_valid_error = exact ? 0 : 9;
> 
> And if I recall correctly there was a suggestion to consolidate and/or
> remove the ulps file altogether and use the maximum valid error as the
> threshold to report regressions.  The only drawback I see of moving
> towards it is each architecture won't see if some change has degraded
> the function precision.

And for some of the higher ulps values it might be good to improve the 
precision, which suggests having at least per-format if not 
per-architecture empirical bounds for each function.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-04-13 18:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08  8:58 [COMMITTED] arm: update libm test ulps Szabolcs Nagy
2021-04-11 18:04 ` Vineet Gupta
2021-04-13  9:52   ` Szabolcs Nagy
2021-04-13 15:01     ` Adhemerval Zanella
2021-04-13 18:02       ` Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).