Why do I get the following behaviour?
This is fine:
(%i1) Coshe(x):=block(mode_declare(x,float),(exp(x)+exp(-x))/2)$
(%i2) compile(Coshe)$
(%i3) Coshe(1.0);
(%o3) 1.543080634815244
(%i4) cosh(1.0);
(%o4) 1.543080634815244
But this is mysterious:
(%i5) Cosh(x):=block(mode_declare(x,float),cosh(x))$
(%i6) compile(Cosh)$
;
; caught STYLE-WARNING:
; undefined function: COSH
;
; compilation unit finished
; Undefined function:
; COSH
; caught 1 STYLE-WARNING condition
Ok, ignore the warning and:
(%i7) Cosh(1.0);
Maxima encountered a Lisp error:
The function MAXIMA::COSH is undefined.
Automatically continuing.
I would have expected that Maxima would compile Cosh down to the CL
cosh function, but it does not.
(%i8) build_info();
(%o8) ?%build_info("5.31.1_dirty","2013-09-26 17:09:41","i686-pc-linux-gnu",
"SBCL","1.1.11.debian")
Leo