Error on compiling a working maxima function
May be not very helpful, but one more way to accomplish the same result is, carg(x+y%i);...
I think it is not possible to write such a single function, rather every function...