\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 r2915309 = im;
double r2915310 = re;
double r2915311 = atan2(r2915309, r2915310);
double r2915312 = base;
double r2915313 = log(r2915312);
double r2915314 = r2915311 * r2915313;
double r2915315 = r2915310 * r2915310;
double r2915316 = r2915309 * r2915309;
double r2915317 = r2915315 + r2915316;
double r2915318 = sqrt(r2915317);
double r2915319 = log(r2915318);
double r2915320 = 0.0;
double r2915321 = r2915319 * r2915320;
double r2915322 = r2915314 - r2915321;
double r2915323 = r2915313 * r2915313;
double r2915324 = r2915320 * r2915320;
double r2915325 = r2915323 + r2915324;
double r2915326 = r2915322 / r2915325;
return r2915326;
}
double f(double re, double im, double base) {
double r2915327 = im;
double r2915328 = re;
double r2915329 = atan2(r2915327, r2915328);
double r2915330 = base;
double r2915331 = log(r2915330);
double r2915332 = r2915329 / r2915331;
return r2915332;
}



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))))