branch cut fixup for atanh(bfloat(x))



Hi Ray, you wrote:

> I think there needs to be more discussion about this.  Some Lisps
> support signed zeroes (cmucl, sbcl), others do not.  Maxima's
> bigfloats don't support signed-zeroes.

I don't see how we can have any results which depend on the
presence of signed zero, be it float, bigfloat, or otherwise.

On a theoretical level: CLHS doesn't require that CL implementations
support signed zero. So if we want Maxima to run on a CL implementation
we can't require any results to depend on the presence of signed zero.

On a practical level: GCL and Clisp (and doubtless other implementations)
don't support signed zero. GCL could probably be talked into it.
Clisp explicitly denies the existence of IEEE 754 special values.
In any event, for any other implementations signed zero would be
a portability issue. IEEE 754 can't be considered a standard de facto
for CL floating point arithmetic.

I'm not in favor of providing a signed zero for floating point implementations
which lack it. I think that implies the bigfloat implementation shouldn't
have one either.

This isn't the end of the story from my pov but I'll let that be enough for now.

best,
Robert