double f(double x_re, double x_im, double y_re, double y_im) {
double r540757 = x_re;
double r540758 = r540757 * r540757;
double r540759 = x_im;
double r540760 = r540759 * r540759;
double r540761 = r540758 + r540760;
double r540762 = sqrt(r540761);
double r540763 = log(r540762);
double r540764 = y_re;
double r540765 = r540763 * r540764;
double r540766 = atan2(r540759, r540757);
double r540767 = y_im;
double r540768 = r540766 * r540767;
double r540769 = r540765 - r540768;
double r540770 = exp(r540769);
double r540771 = r540763 * r540767;
double r540772 = r540766 * r540764;
double r540773 = r540771 + r540772;
double r540774 = sin(r540773);
double r540775 = r540770 * r540774;
return r540775;
}