Menu ▾ ▴

#5569 acsch( 1.0e-6*%i );

None
closed
None
5
2026-09-28
2026-09-27
Dan Gildea
No

It appears different lisps have different branch cuts for asinh, causing a test suite failure in rtest_trig.mac problem 202 (line 823) for cmucl, ecl, and gcl.

in sbcl:

(%i1) acsch( 1.0e-6*%i);

  0: (ASINH #C(0.0d0 -1000000.0d0))
    1: (ASINH -999999.9999995d0)
    1: COMMON-LISP:ASINH returned -14.508657738523969
  0: COMMON-LISP:ASINH returned #C(-14.508657738523969 -1.5707963267948966)
(%o1)            - 1.5707963267948966 %i - 14.508657738523969

in cmucl, ecl, gcl:

(%i1) acsch( 1.0e-6*%i );

  0: (COMMON-LISP:ASINH #C(0.0 -1000000.0))
  0: COMMON-LISP:ASINH returned #C(14.508657738523969 -1.5707963267948966)
(%o1)             14.508657738523969 - 1.5707963267948966 %i

Discussion

  • David Scherfgen

    David Scherfgen - 2026-09-28
    • assigned_to: David Scherfgen
     
  • David Scherfgen

    David Scherfgen - 2026-09-28

    Thanks for reporting. Adding these tests paid off!
    Fix is on the way.

     
  • David Scherfgen

    David Scherfgen - 2026-09-28
    • status: open --> closed
     
  • David Scherfgen

    David Scherfgen - 2026-09-28

    Fixed by commit [d18da1].
    GCL 2.7.x needs another fix, because it doesn't signal on float division by zero, logarithm of zero, etc., but instead generates infinities. This will be a different commit.

     

    Related

    Commit: [d18da1]


Log in to post a comment.