double f(double x_re, double x_im, double y_re, double y_im) {
double r563557 = x_re;
double r563558 = r563557 * r563557;
double r563559 = x_im;
double r563560 = r563559 * r563559;
double r563561 = r563558 + r563560;
double r563562 = sqrt(r563561);
double r563563 = log(r563562);
double r563564 = y_re;
double r563565 = r563563 * r563564;
double r563566 = atan2(r563559, r563557);
double r563567 = y_im;
double r563568 = r563566 * r563567;
double r563569 = r563565 - r563568;
double r563570 = exp(r563569);
double r563571 = r563563 * r563567;
double r563572 = r563566 * r563564;
double r563573 = r563571 + r563572;
double r563574 = cos(r563573);
double r563575 = r563570 * r563574;
return r563575;
}