\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\frac{\tan^{-1}_* \frac{im}{re}}{\log base}double f(double re, double im, double base) {
double r2879508 = im;
double r2879509 = re;
double r2879510 = atan2(r2879508, r2879509);
double r2879511 = base;
double r2879512 = log(r2879511);
double r2879513 = r2879510 * r2879512;
double r2879514 = r2879509 * r2879509;
double r2879515 = r2879508 * r2879508;
double r2879516 = r2879514 + r2879515;
double r2879517 = sqrt(r2879516);
double r2879518 = log(r2879517);
double r2879519 = 0.0;
double r2879520 = r2879518 * r2879519;
double r2879521 = r2879513 - r2879520;
double r2879522 = r2879512 * r2879512;
double r2879523 = r2879519 * r2879519;
double r2879524 = r2879522 + r2879523;
double r2879525 = r2879521 / r2879524;
return r2879525;
}
double f(double re, double im, double base) {
double r2879526 = im;
double r2879527 = re;
double r2879528 = atan2(r2879526, r2879527);
double r2879529 = base;
double r2879530 = log(r2879529);
double r2879531 = r2879528 / r2879530;
return r2879531;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 31.6
Simplified0.3
Final simplification0.3
herbie shell --seed 2019163
(FPCore (re im base)
:name "math.log/2 on complex, imaginary part"
(/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))))