1#include "libm.h" 2 3// FIXME 4 5/* asin(z) = -i log(i z + sqrt(1 - z*z)) */ 6 7double complex casin(double complex z) 8{ 9 double complex w; 10 double x, y; 11 12 x = creal(z); 13 y = cimag(z); 14 w = CMPLX(1.0 - (x - y)*(x + y), -2.0*x*y); 15 return clog(CMPLX(-y, x) + csqrt(w)); 16} 17