double f(double re, double im, double base) {
double r540573 = im;
double r540574 = re;
double r540575 = atan2(r540573, r540574);
double r540576 = base;
double r540577 = log(r540576);
double r540578 = r540575 * r540577;
double r540579 = r540574 * r540574;
double r540580 = r540573 * r540573;
double r540581 = r540579 + r540580;
double r540582 = sqrt(r540581);
double r540583 = log(r540582);
double r540584 = 0.0;
double r540585 = r540583 * r540584;
double r540586 = r540578 - r540585;
double r540587 = r540577 * r540577;
double r540588 = r540584 * r540584;
double r540589 = r540587 + r540588;
double r540590 = r540586 / r540589;
return r540590;
}