CMPLX
return CMPLX(cos(y) * exp_x * scale1 * scale2, sin(y) * exp_x * scale1 * scale2);
if (zineg) return CMPLX(cimag(z), -creal(z));
else return CMPLX(-cimag(z), creal(z));
w = CMPLX(w, 0.25 * log(a));
z = catan(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
return ccosh(CMPLX(-cimag(z), creal(z)));
return CMPLX(y - y, x * (y - y));
return CMPLX(x * x, x * (y - y));
return CMPLX((x * x) * cos(y), x * sin(y));
return CMPLX((x * x) * (y - y), (x + x) * (y - y));
return CMPLX(cosh(x), x * y);
return CMPLX(cosh(x) * cos(y), sinh(x) * sin(y));
return CMPLX(h * cos(y), copysign(h, x) * sin(y));
z = __ldexp_cexp(CMPLX(fabs(x), y), -1);
return CMPLX(creal(z), cimag(z) * copysign(1, x));
return CMPLX(h * h * cos(y), h * sin(y));
return CMPLX(y - y, copysign(0, x * (y - y)));
return CMPLX(x * x, copysign(0, x) * y);
return CMPLX(x * x, copysign(0, (x + x) * y));
return CMPLX(exp(x), y);
return CMPLX(cos(y), sin(y));
return CMPLX(y - y, y - y);
return CMPLX(0.0, 0.0);
return CMPLX(x, y - y);
return CMPLX(exp_x * cos(y), exp_x * sin(y));
return CMPLX(creal(z), -cimag(z));
return CMPLX(INFINITY, copysign(0.0, cimag(z)));
z = csinh(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
return CMPLX(y - y, x * (y - y));
return CMPLX(x * x, x * (y - y));
return CMPLX(x * cos(y), INFINITY * sin(y));
return CMPLX((x * x) * (y - y), (x + x) * (y - y));
return CMPLX(sinh(x), y);
return CMPLX(sinh(x) * cos(y), cosh(x) * sin(y));
return CMPLX(copysign(h, x) * cos(y), h * sin(y));
z = __ldexp_cexp(CMPLX(fabs(x), y), -1);
return CMPLX(creal(z) * copysign(1, x), cimag(z));
return CMPLX(h * cos(y), h * h * sin(y));
return CMPLX(copysign(0, x * (y - y)), y - y);
return CMPLX(x, y);
return CMPLX(x, copysign(0, y));
return CMPLX(0, b);
return CMPLX(INFINITY, b);
return CMPLX(a, t); /* return NaN + NaN i */
return CMPLX(fabs(b - b), copysign(a, b));
return CMPLX(a, copysign(b - b, b));
result = CMPLX(t, b / (2 * t));
result = CMPLX(fabs(b) / (2 * t), copysign(t, b));
z = ctanh(CMPLX(-cimag(z), creal(z)));
return CMPLX(cimag(z), -creal(z));
return CMPLX(x, copysign(0, isinf(y) ? y : sin(y) * cos(y)));
return CMPLX(x ? y - y : x, y - y);
return CMPLX(copysign(1, x), 4 * sin(y) * cos(y) * exp_mx * exp_mx);
return CMPLX((beta * rho * s) / denom, t / denom);
return CMPLX(x, (y == 0 ? y : x * y));