\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 r1890662 = im;
double r1890663 = re;
double r1890664 = atan2(r1890662, r1890663);
double r1890665 = base;
double r1890666 = log(r1890665);
double r1890667 = r1890664 * r1890666;
double r1890668 = r1890663 * r1890663;
double r1890669 = r1890662 * r1890662;
double r1890670 = r1890668 + r1890669;
double r1890671 = sqrt(r1890670);
double r1890672 = log(r1890671);
double r1890673 = 0.0;
double r1890674 = r1890672 * r1890673;
double r1890675 = r1890667 - r1890674;
double r1890676 = r1890666 * r1890666;
double r1890677 = r1890673 * r1890673;
double r1890678 = r1890676 + r1890677;
double r1890679 = r1890675 / r1890678;
return r1890679;
}
double f(double re, double im, double base) {
double r1890680 = im;
double r1890681 = re;
double r1890682 = atan2(r1890680, r1890681);
double r1890683 = base;
double r1890684 = log(r1890683);
double r1890685 = r1890682 / r1890684;
return r1890685;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 32.0
Taylor expanded around 0 0.3
Final simplification0.3
herbie shell --seed 2019174
(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))))