59は間違ってる
struct Complex subComplex(struct Complex aArg, struct Complex bArg)
{
struct Complex ret;

ret.r = sqrt(aArg.r * aArg.r + bArg.r * bArg.r - 2 * aArg.r * bArg.r * cos(aArg.theta - bArg.theta));
ret.theta = aArg.theta - acos((ret.r * ret.r + aArg.r * aArg.r - bArg.r * bArg.r) / (2 * ret.r * aArg.r));

return ret;
}
addは
struct Complex addComplex(struct Complex aArg, struct Complex bArg)
{
struct Complex ret;

ret.r = sqrt(aArg.r * aArg.r + bArg.r * bArg.r + 2 * aArg.r * bArg.r * cos(aArg.theta - bArg.theta));
ret.theta = aArg.theta + acos((ret.r * ret.r + aArg.r * aArg.r - bArg.r * bArg.r) / (2 * ret.r * aArg.r));

return ret;
}