1-3) Computes complex arc hyperbolic sine of a complex value z with branch cut at values less than 1 along the real axis.

4) Type-generic macro: If z has type longdoublecomplex, cacoshl is called. if z has type doublecomplex, cacosh is called, if z has type floatcomplex, cacoshf is called. If z is real or integer, then the macro invokes the corresponding real function (acoshf, acosh, acoshl). If z is imaginary, then the macro invokes the corresponding complex number version and the return type is complex.

Although the C standard names this function "complex arc hyperbolic cosine", the inverse functions of the hyperbolic functions are the area functions. Their argument is the area of a hyperbolic sector, not an arc. The correct name is "complex inverse hyperbolic cosine", and, less common, "complex area hyperbolic cosine".

Inverse hyperbolic cosine is a multivalued function and requires a branch cut on the complex plane. The branch cut is conventionally placed at the line segment (-∞,+1) of the real axis.