branch cut fixup for atanh(bfloat(x))



>>>>> "Barton" == Barton Willis <willisb at unk.edu> writes:

    Barton> I believe the continuity requirements given in the various
    Barton> CL standards for the inverse trig functions are too
    Barton> complicated for symbolic computing. For floating point
    Barton> evaluation, I propose that we define the inverse trig
    Barton> functions by their logarc forms (using log(-1) = i %pi).
    Barton> As far as I know, this is what Maxima has always
    Barton> done. Presumably, all simplifications in Maxima are
    Barton> consistent with this choice.

This is ok with me.  

But we should at least examine the implications of these choices.
Kahan's paper gives some motivation of why he chose the branch cuts as
he did.  Some of the justifications are that common identities still
hold on the branch cuts, like tan(%i*z) = %i*tanh(z).  But he also
mentions that other "expected" identities cannot hold on the branch
cuts.

It's definitely worth reading Kahan's paper.  And doing some of the
problems listed therein is quite educational. :-)

Ray