// ctanh(conj(z)) = conj(ctanh(z))and ctanh is odd.
// ctanh(+0 + i0) returns +0 + i0.
// ctanh(x + i<><69>) returns NaN + iNaN and raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception, for finite x.
// ctanh(x + iNaN) returns NaN + iNaN and optionally raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception, for finite x.
// ctanh(+<2B><>+ iy) returns 1 + i0 sin(2y), for positive-signed finite y.
// ctanh(+<2B><>+ i<><69>) returns 1 <20>} i0 (where the sign of the imaginary part of the result is unspecified).
// ctanh(+<2B><>+ iNaN) returns 1 <20>} i0 (where the sign of the imaginary part of the result is unspecified).
// ctanh(NaN + i0) returns NaN + i0.
// ctanh(NaN + iy) returns NaN + iNaN and optionally raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception, for all nonzero numbers y.