\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\frac{\tan^{-1}_* \frac{im}{re}}{\log base}double f(double re, double im, double base) {
double r1797305 = im;
double r1797306 = re;
double r1797307 = atan2(r1797305, r1797306);
double r1797308 = base;
double r1797309 = log(r1797308);
double r1797310 = r1797307 * r1797309;
double r1797311 = r1797306 * r1797306;
double r1797312 = r1797305 * r1797305;
double r1797313 = r1797311 + r1797312;
double r1797314 = sqrt(r1797313);
double r1797315 = log(r1797314);
double r1797316 = 0.0;
double r1797317 = r1797315 * r1797316;
double r1797318 = r1797310 - r1797317;
double r1797319 = r1797309 * r1797309;
double r1797320 = r1797316 * r1797316;
double r1797321 = r1797319 + r1797320;
double r1797322 = r1797318 / r1797321;
return r1797322;
}
double f(double re, double im, double base) {
double r1797323 = im;
double r1797324 = re;
double r1797325 = atan2(r1797323, r1797324);
double r1797326 = base;
double r1797327 = log(r1797326);
double r1797328 = r1797325 / r1797327;
return r1797328;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 32.1
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2019171
(FPCore (re im base)
:name "math.log/2 on complex, imaginary part"
(/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))