\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(-2\right) \cdot \log \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \left(\log \left(\frac{1}{\sqrt[3]{base}}\right) - \frac{-2}{3} \cdot \log \left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)\right)}double f(double re, double im, double base) {
double r54882 = im;
double r54883 = re;
double r54884 = atan2(r54882, r54883);
double r54885 = base;
double r54886 = log(r54885);
double r54887 = r54884 * r54886;
double r54888 = r54883 * r54883;
double r54889 = r54882 * r54882;
double r54890 = r54888 + r54889;
double r54891 = sqrt(r54890);
double r54892 = log(r54891);
double r54893 = 0.0;
double r54894 = r54892 * r54893;
double r54895 = r54887 - r54894;
double r54896 = r54886 * r54886;
double r54897 = r54893 * r54893;
double r54898 = r54896 + r54897;
double r54899 = r54895 / r54898;
return r54899;
}
double f(double re, double im, double base) {
double r54900 = -1.0;
double r54901 = im;
double r54902 = re;
double r54903 = atan2(r54901, r54902);
double r54904 = 2.0;
double r54905 = -r54904;
double r54906 = 1.0;
double r54907 = cbrt(r54906);
double r54908 = r54907 * r54907;
double r54909 = base;
double r54910 = sqrt(r54909);
double r54911 = r54908 / r54910;
double r54912 = -0.3333333333333333;
double r54913 = pow(r54911, r54912);
double r54914 = log(r54913);
double r54915 = r54905 * r54914;
double r54916 = cbrt(r54909);
double r54917 = r54906 / r54916;
double r54918 = log(r54917);
double r54919 = -0.6666666666666666;
double r54920 = r54907 / r54910;
double r54921 = log(r54920);
double r54922 = r54919 * r54921;
double r54923 = r54918 - r54922;
double r54924 = r54915 + r54923;
double r54925 = r54903 / r54924;
double r54926 = r54900 * r54925;
return r54926;
}



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-sqr-sqrt0.3
Applied add-cube-cbrt0.3
Applied times-frac0.3
Applied unpow-prod-down0.3
Applied log-prod0.3
Applied distribute-lft-in0.3
Applied associate-+l+0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020001
(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))))