For now I'm using the libm routines, since I'm not convinced that the alternatives are really better. For complex numbers, I'm adding the following, rather simple, routines. If Emil (or someone else) wants to provide more optimized/numerically stable versions, let me know.
function Complex_ArcSin (z: Complex): Complex; var t: Complex; begin t := Ln (Cmplx (-Im (z), Re (z)) + SqRt (1 - Sqr (z))); Complex_ArcSin := Cmplx (Im (t), -Re (t)) end;
function Complex_ArcCos (z: Complex): Complex; var t: Complex; begin t := Ln (z + SqRt (Sqr (z) - 1)); Complex_ArcCos := Cmplx (Im (t), -Re (t)) end;
Frank