double f(double x_re, double x_im, double y_re, double y_im) {
double r899596 = x_re;
double r899597 = r899596 * r899596;
double r899598 = x_im;
double r899599 = r899598 * r899598;
double r899600 = r899597 + r899599;
double r899601 = sqrt(r899600);
double r899602 = log(r899601);
double r899603 = y_re;
double r899604 = r899602 * r899603;
double r899605 = atan2(r899598, r899596);
double r899606 = y_im;
double r899607 = r899605 * r899606;
double r899608 = r899604 - r899607;
double r899609 = exp(r899608);
double r899610 = r899602 * r899606;
double r899611 = r899605 * r899603;
double r899612 = r899610 + r899611;
double r899613 = cos(r899612);
double r899614 = r899609 * r899613;
return r899614;
}