I suggest that we change Maxima so that
1.0 * x --> 1.0 * x,
1.0b0 * x --> 1.0b0 * x.
During my snow vacation, I worked on changing trigi and
trigo so that the trig and inverse trig functions use
CL functions for double floating point evaluation.
Although I kept trigsign, wrote a new general
mechanism for applying reflection identities (things
like f(-x) --> f(x) and g(-x) --> %pi - g(x)).
For now, evaluation of trig functions with complex big float
arguments isn't automatic --- a user still needs to use rectform.
I suspect that some expressions that rectform generates
are poorly suited for numerical evaluation.
The functions atan, acosh, and asech had branch cut
errors or non-standard branch cuts; I also discovered errors
in trigexpand for sec and csc. The trigexpand code is too
recondite for me to understand. Maybe someone else would
like to fix these bugs (see my bug reports).
Finally, I thank Raymond his many good suggestions.
(%i1) cos(1+%i),numer;
(%o1) 0.83373002513114902-0.98889770576286506*%i
(%i2) acos(%);
(%o2) 0.99999999999999978*%i+1.0
(%i3) acosh(x),logarc;
(%o3) 2*log(sqrt(x+1)/sqrt(2)+sqrt(x-1)/sqrt(2))
(%i4) asinh(2.0 + %i);
(%o4) 0.42707858639247614*%i+1.528570919480998
(%i5) sinh(%);
(%o5) 1.0*%i+1.9999999999999998
(%i8) csc(0.0);
The number 0.0 isn't in the domain of CSC
Barton