\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}-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(\log \left({\left(\sqrt[3]{base} \cdot \sqrt[3]{base}\right)}^{\left(-\frac{1}{3}\right)}\right) - \frac{2}{3} \cdot \log base\right) + \log \left({\left(\sqrt[3]{base}\right)}^{\left(-\frac{1}{3}\right)}\right)}double f(double re, double im, double base) {
double r101102 = im;
double r101103 = re;
double r101104 = atan2(r101102, r101103);
double r101105 = base;
double r101106 = log(r101105);
double r101107 = r101104 * r101106;
double r101108 = r101103 * r101103;
double r101109 = r101102 * r101102;
double r101110 = r101108 + r101109;
double r101111 = sqrt(r101110);
double r101112 = log(r101111);
double r101113 = 0.0;
double r101114 = r101112 * r101113;
double r101115 = r101107 - r101114;
double r101116 = r101106 * r101106;
double r101117 = r101113 * r101113;
double r101118 = r101116 + r101117;
double r101119 = r101115 / r101118;
return r101119;
}
double f(double re, double im, double base) {
double r101120 = -1.0;
double r101121 = im;
double r101122 = re;
double r101123 = atan2(r101121, r101122);
double r101124 = base;
double r101125 = cbrt(r101124);
double r101126 = r101125 * r101125;
double r101127 = 0.3333333333333333;
double r101128 = -r101127;
double r101129 = pow(r101126, r101128);
double r101130 = log(r101129);
double r101131 = 0.6666666666666666;
double r101132 = log(r101124);
double r101133 = r101131 * r101132;
double r101134 = r101130 - r101133;
double r101135 = pow(r101125, r101128);
double r101136 = log(r101135);
double r101137 = r101134 + r101136;
double r101138 = r101123 / r101137;
double r101139 = r101120 * r101138;
return r101139;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 32.0
Taylor expanded around inf 0.3
rmApplied add-cube-cbrt0.3
Applied add-cube-cbrt0.3
Applied times-frac0.3
Applied log-prod0.4
Simplified0.4
Simplified0.4
rmApplied pow1/30.3
Applied pow-flip0.3
rmApplied add-cube-cbrt0.3
Applied unpow-prod-down0.3
Applied log-prod0.4
Applied associate-+r+0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020062
(FPCore (re im base)
:name "math.log/2 on complex, imaginary part"
:precision binary64
(/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))