double f(double re, double im, double base) {
double r558397 = im;
double r558398 = re;
double r558399 = atan2(r558397, r558398);
double r558400 = base;
double r558401 = log(r558400);
double r558402 = r558399 * r558401;
double r558403 = r558398 * r558398;
double r558404 = r558397 * r558397;
double r558405 = r558403 + r558404;
double r558406 = sqrt(r558405);
double r558407 = log(r558406);
double r558408 = 0.0;
double r558409 = r558407 * r558408;
double r558410 = r558402 - r558409;
double r558411 = r558401 * r558401;
double r558412 = r558408 * r558408;
double r558413 = r558411 + r558412;
double r558414 = r558410 / r558413;
return r558414;
}