#include "libm.h" float complex cacoshf(float complex z) { _Bool zineg = cimagf(z) < 0; z = cacosf(z); if (zineg) return CMPLXF(cimagf(z), -crealf(z)); else return CMPLXF(-cimagf(z), crealf(z)); }