// ccosh(conj(z)) = conj(ccosh(z)) and ccosh is even.
// ccosh(+0 + i0) returns 1 + i0.
// ccosh(+0 + i<><69>) returns NaN <20>} i0 (where the sign of the imaginary part of the result is unspecified) and raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception.
// ccosh(+0 + iNaN) returns NaN <20>} i0 (where the sign of the imaginary part of the result is unspecified).
// ccosh(x + i<><69>) returns NaN + iNaN and raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception, for finite nonzero x.
// ccosh(x + iNaN) returns NaN + iNaN and optionally raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception, for finite nonzero x.
// ccosh(+<2B><>+ i0) returns +<2B><>+ i0.
// ccosh(+<2B><>+ iy) returns +<2B><> cis(y), for finite nonzero y.
// ccosh(+<2B><>+ i<><69>) returns <20>}<7D><>+ iNaN (where the sign of the real part of the result is unspecified) and raises the <20>e<EFBFBD>einvalid<69>f<EFBFBD>f floating-point exception.
// ccosh(+<2B><>+ iNaN) returns +<2B><>+ iNaN.
// ccosh(NaN + i0) returns NaN <20>} i0 (where the sign of the imaginary part of the result is unspecified).
// ccosh(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.