double f(double re, double im, double base) {
double r317303 = im;
double r317304 = re;
double r317305 = atan2(r317303, r317304);
double r317306 = base;
double r317307 = log(r317306);
double r317308 = r317305 * r317307;
double r317309 = r317304 * r317304;
double r317310 = r317303 * r317303;
double r317311 = r317309 + r317310;
double r317312 = sqrt(r317311);
double r317313 = log(r317312);
double r317314 = 0.0;
double r317315 = r317313 * r317314;
double r317316 = r317308 - r317315;
double r317317 = r317307 * r317307;
double r317318 = r317314 * r317314;
double r317319 = r317317 + r317318;
double r317320 = r317316 / r317319;
return r317320;
}