\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} \cdot -1}{\left(\log \left(\frac{\sqrt{1}}{{\left({base}^{\frac{1}{3}}\right)}^{\frac{2}{3}} \cdot {\left(\sqrt[3]{base}\right)}^{\frac{1}{3}}}\right) + \log \left(\sqrt{1}\right)\right) - \frac{2}{3} \cdot \log base}double f(double re, double im, double base) {
double r97138 = im;
double r97139 = re;
double r97140 = atan2(r97138, r97139);
double r97141 = base;
double r97142 = log(r97141);
double r97143 = r97140 * r97142;
double r97144 = r97139 * r97139;
double r97145 = r97138 * r97138;
double r97146 = r97144 + r97145;
double r97147 = sqrt(r97146);
double r97148 = log(r97147);
double r97149 = 0.0;
double r97150 = r97148 * r97149;
double r97151 = r97143 - r97150;
double r97152 = r97142 * r97142;
double r97153 = r97149 * r97149;
double r97154 = r97152 + r97153;
double r97155 = r97151 / r97154;
return r97155;
}
double f(double re, double im, double base) {
double r97156 = im;
double r97157 = re;
double r97158 = atan2(r97156, r97157);
double r97159 = -1.0;
double r97160 = r97158 * r97159;
double r97161 = 1.0;
double r97162 = sqrt(r97161);
double r97163 = base;
double r97164 = 0.3333333333333333;
double r97165 = pow(r97163, r97164);
double r97166 = 0.6666666666666666;
double r97167 = pow(r97165, r97166);
double r97168 = cbrt(r97163);
double r97169 = pow(r97168, r97164);
double r97170 = r97167 * r97169;
double r97171 = r97162 / r97170;
double r97172 = log(r97171);
double r97173 = log(r97162);
double r97174 = r97172 + r97173;
double r97175 = log(r97163);
double r97176 = r97166 * r97175;
double r97177 = r97174 - r97176;
double r97178 = r97160 / r97177;
return r97178;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 32.4
Taylor expanded around inf 0.3
rmApplied add-cube-cbrt0.3
Applied add-sqr-sqrt0.3
Applied times-frac0.3
Applied log-prod0.4
rmApplied add-sqr-sqrt0.4
Applied add-sqr-sqrt0.4
Applied swap-sqr0.4
Simplified0.4
Simplified0.3
rmApplied add-cube-cbrt0.3
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019308
(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))))