\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 r2102472 = im;
double r2102473 = re;
double r2102474 = atan2(r2102472, r2102473);
double r2102475 = base;
double r2102476 = log(r2102475);
double r2102477 = r2102474 * r2102476;
double r2102478 = r2102473 * r2102473;
double r2102479 = r2102472 * r2102472;
double r2102480 = r2102478 + r2102479;
double r2102481 = sqrt(r2102480);
double r2102482 = log(r2102481);
double r2102483 = 0.0;
double r2102484 = r2102482 * r2102483;
double r2102485 = r2102477 - r2102484;
double r2102486 = r2102476 * r2102476;
double r2102487 = r2102483 * r2102483;
double r2102488 = r2102486 + r2102487;
double r2102489 = r2102485 / r2102488;
return r2102489;
}
double f(double re, double im, double base) {
double r2102490 = im;
double r2102491 = re;
double r2102492 = atan2(r2102490, r2102491);
double r2102493 = base;
double r2102494 = log(r2102493);
double r2102495 = r2102492 / r2102494;
return r2102495;
}



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