\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}}{\log \left(\frac{{\left({base}^{\frac{1}{3}}\right)}^{\left(-2\right)}}{{base}^{\frac{1}{3}}}\right)}double f(double re, double im, double base) {
double r101874 = im;
double r101875 = re;
double r101876 = atan2(r101874, r101875);
double r101877 = base;
double r101878 = log(r101877);
double r101879 = r101876 * r101878;
double r101880 = r101875 * r101875;
double r101881 = r101874 * r101874;
double r101882 = r101880 + r101881;
double r101883 = sqrt(r101882);
double r101884 = log(r101883);
double r101885 = 0.0;
double r101886 = r101884 * r101885;
double r101887 = r101879 - r101886;
double r101888 = r101878 * r101878;
double r101889 = r101885 * r101885;
double r101890 = r101888 + r101889;
double r101891 = r101887 / r101890;
return r101891;
}
double f(double re, double im, double base) {
double r101892 = -1.0;
double r101893 = im;
double r101894 = re;
double r101895 = atan2(r101893, r101894);
double r101896 = base;
double r101897 = 0.3333333333333333;
double r101898 = pow(r101896, r101897);
double r101899 = 2.0;
double r101900 = -r101899;
double r101901 = pow(r101898, r101900);
double r101902 = r101901 / r101898;
double r101903 = log(r101902);
double r101904 = r101895 / r101903;
double r101905 = r101892 * r101904;
return r101905;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 31.8
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
Taylor expanded around inf 0.3
rmApplied add-log-exp0.3
Applied sum-log0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020001 +o rules:numerics
(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))))