Maxima gets overflow with latest snapshot 2021-01
Building maxima with the latest snapshot-2021-01 works fine, but
running the testsuite produces 3 errors that didn't happen with
snapshot 2020-04. The overflow comes from airy_ai(2.0)
, which calls
slatec::daie
. The error is
Arithmetic error FLOATING-POINT-OVERFLOW signalled.
Operation was *, operands (1.7976931348623157e308 NIL).
[Condition of type FLOATING-POINT-OVERFLOW]
Restarts:
0: [MACSYMA-QUIT] Maxima top-level
The backtrace points to
(EXPT (F2CL-LIB:D1MACH 2) 0.6666)
This can be reproduced by:
(require :f2cl)
(make-package "SLATEC")
(setf *read-default-float-format* 'double-float)
(dolist (f '("initds" "dcsevl" "d9aimp" "daie"))
(compile-file f :load t))
(slatec::daie 2d0)
The listed files come from the src/numerical/slatec
directory from
maxima's sources.
A disassemble ofslatec::daie
appears to be essentially the same
between snapshot 2020-04 and 2021-01. The differences are the
address of the static vars for allocation, and the addresses of the
code constants. 2021-01 removed some static symbols so the address
changes are expected.
I have no idea what the problem could be; there weren't that many changes between 2020-04 and 2021-01.