Bug 253984

Summary: log1pl() is less accurate than logl() on LD128 platforms
Product: Base System Reporter: Alex Richardson <arichardson>
Component: binAssignee: freebsd-bugs (Nobody) <bugs>
Status: New ---    
Severity: Affects Only Me    
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Alex Richardson freebsd_committer freebsd_triage 2021-03-03 16:26:32 UTC
This causes failures in the logarithm_test on non-x86 platforms such as AArch64:

*** Check failed: /local/scratch/alr48/cheri/freebsd/lib/msun/tests/logarithm_test.c:255: (log1pl)(_d) (0.1823215567939546262083299) ~= (1.82321556793954626202683007050468762914e-1L) (0.182321556793954626202683), diff=5.6468863150286609024e-21, maxdiff=3.5113854573677529636e-35,
*** Check failed: /local/scratch/alr48/cheri/freebsd/lib/msun/tests/logarithm_test.c:262: (log1pl)(_d) (-0.2231435513142097557612129) ~= (-2.23143551314209755752742563153765697950e-1L) (-0.2231435513142097557527426), diff=8.4703294725430033907e-21, maxdiff=4.2975884737294630475e-35,
Comment 1 commit-hook freebsd_committer freebsd_triage 2021-04-20 00:47:39 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=1ad83445fc0f1d2aecd32635f4ae713a057aa091

commit 1ad83445fc0f1d2aecd32635f4ae713a057aa091
Author:     Alex Richardson <arichardson@FreeBSD.org>
AuthorDate: 2021-04-19 23:22:45 +0000
Commit:     Alex Richardson <arichardson@FreeBSD.org>
CommitDate: 2021-04-20 00:46:43 +0000

    Allow lib/msun/logarithm_test to pass on ld128 platforms

    For some reason the ld128 log1pl() implementation is less accurate than
    logl(), but does at least guarantee precision >= the ld80 implementation.
    Mark log1p_accuracy_tests as XFAIL for ld128 and increase the log1p tolerance
    to the ld80 equivalent in accuracy_tests to avoid losing test coverage for
    the other functions.

    PR:             253984
    Reviewed By:    ngie, dim
    Differential Revision: https://reviews.freebsd.org/D29039

 lib/msun/tests/logarithm_test.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
Comment 2 commit-hook freebsd_committer freebsd_triage 2021-04-22 11:09:42 UTC
A commit in branch stable/13 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=b8beded343980477e6d670c263fda7b0007510cc

commit b8beded343980477e6d670c263fda7b0007510cc
Author:     Alex Richardson <arichardson@FreeBSD.org>
AuthorDate: 2021-04-19 23:22:45 +0000
Commit:     Alex Richardson <arichardson@FreeBSD.org>
CommitDate: 2021-04-22 09:44:55 +0000

    Allow lib/msun/logarithm_test to pass on ld128 platforms

    For some reason the ld128 log1pl() implementation is less accurate than
    logl(), but does at least guarantee precision >= the ld80 implementation.
    Mark log1p_accuracy_tests as XFAIL for ld128 and increase the log1p tolerance
    to the ld80 equivalent in accuracy_tests to avoid losing test coverage for
    the other functions.

    PR:             253984
    Reviewed By:    ngie, dim
    Differential Revision: https://reviews.freebsd.org/D29039

    (cherry picked from commit 1ad83445fc0f1d2aecd32635f4ae713a057aa091)

 lib/msun/tests/logarithm_test.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)