double f(double x_re, double x_im, double y_re, double y_im) {
double r470089 = x_re;
double r470090 = r470089 * r470089;
double r470091 = x_im;
double r470092 = r470091 * r470091;
double r470093 = r470090 + r470092;
double r470094 = sqrt(r470093);
double r470095 = log(r470094);
double r470096 = y_re;
double r470097 = r470095 * r470096;
double r470098 = atan2(r470091, r470089);
double r470099 = y_im;
double r470100 = r470098 * r470099;
double r470101 = r470097 - r470100;
double r470102 = exp(r470101);
double r470103 = r470095 * r470099;
double r470104 = r470098 * r470096;
double r470105 = r470103 + r470104;
double r470106 = cos(r470105);
double r470107 = r470102 * r470106;
return r470107;
}