Average Error: 31.8 → 0.4
Time: 7.3s
Precision: 64
\[\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)}\]
\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;
}

Error

Bits error versus re

Bits error versus im

Bits error versus base

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 31.8

    \[\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}\]
  2. Taylor expanded around inf 0.3

    \[\leadsto \color{blue}{-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{base}\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{\color{blue}{\left(\sqrt[3]{base} \cdot \sqrt[3]{base}\right) \cdot \sqrt[3]{base}}}\right)}\]
  5. Applied add-cube-cbrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\left(\sqrt[3]{base} \cdot \sqrt[3]{base}\right) \cdot \sqrt[3]{base}}\right)}\]
  6. Applied times-frac0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{base} \cdot \sqrt[3]{base}} \cdot \frac{\sqrt[3]{1}}{\sqrt[3]{base}}\right)}}\]
  7. Applied log-prod0.4

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\color{blue}{\log \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{base} \cdot \sqrt[3]{base}}\right) + \log \left(\frac{\sqrt[3]{1}}{\sqrt[3]{base}}\right)}}\]
  8. Simplified0.4

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\color{blue}{\left(-2\right) \cdot \log \left(\sqrt[3]{base}\right)} + \log \left(\frac{\sqrt[3]{1}}{\sqrt[3]{base}}\right)}\]
  9. Simplified0.4

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(\sqrt[3]{base}\right) + \color{blue}{\log \left(\frac{1}{\sqrt[3]{base}}\right)}}\]
  10. Taylor expanded around inf 0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \color{blue}{\left({\left(\frac{1}{base}\right)}^{\frac{-1}{3}}\right)} + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  11. Using strategy rm
  12. Applied add-sqr-sqrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left({\left(\frac{1}{\color{blue}{\sqrt{base} \cdot \sqrt{base}}}\right)}^{\frac{-1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  13. Applied add-cube-cbrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left({\left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\sqrt{base} \cdot \sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  14. Applied times-frac0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left({\color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}} \cdot \frac{\sqrt[3]{1}}{\sqrt{base}}\right)}}^{\frac{-1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  15. Applied unpow-prod-down0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \color{blue}{\left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}} \cdot {\left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right)} + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  16. Applied log-prod0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \color{blue}{\left(\log \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \log \left({\left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right)\right)} + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  17. Applied distribute-lft-in0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\color{blue}{\left(\left(-2\right) \cdot \log \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \left(-2\right) \cdot \log \left({\left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right)\right)} + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  18. Applied associate-+l+0.4

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\color{blue}{\left(-2\right) \cdot \log \left({\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \left(\left(-2\right) \cdot \log \left({\left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)}^{\frac{-1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)\right)}}\]
  19. Simplified0.4

    \[\leadsto -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) + \color{blue}{\left(\log \left(\frac{1}{\sqrt[3]{base}}\right) - \frac{-2}{3} \cdot \log \left(\frac{\sqrt[3]{1}}{\sqrt{base}}\right)\right)}}\]
  20. Final simplification0.4

    \[\leadsto -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)}\]

Reproduce

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))))