Average Error: 31.8 → 0.4
Time: 5.7s
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}}{2 \cdot \left(\log \left(\sqrt[3]{\sqrt[3]{\frac{1}{base}}}\right) + \log \left({\left(\frac{1}{base}\right)}^{\frac{1}{3}}\right)\right) + \log \left(\sqrt[3]{\sqrt[3]{\frac{1}{base}}}\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}}{2 \cdot \left(\log \left(\sqrt[3]{\sqrt[3]{\frac{1}{base}}}\right) + \log \left({\left(\frac{1}{base}\right)}^{\frac{1}{3}}\right)\right) + \log \left(\sqrt[3]{\sqrt[3]{\frac{1}{base}}}\right)}
double f(double re, double im, double base) {
        double r38793 = im;
        double r38794 = re;
        double r38795 = atan2(r38793, r38794);
        double r38796 = base;
        double r38797 = log(r38796);
        double r38798 = r38795 * r38797;
        double r38799 = r38794 * r38794;
        double r38800 = r38793 * r38793;
        double r38801 = r38799 + r38800;
        double r38802 = sqrt(r38801);
        double r38803 = log(r38802);
        double r38804 = 0.0;
        double r38805 = r38803 * r38804;
        double r38806 = r38798 - r38805;
        double r38807 = r38797 * r38797;
        double r38808 = r38804 * r38804;
        double r38809 = r38807 + r38808;
        double r38810 = r38806 / r38809;
        return r38810;
}

double f(double re, double im, double base) {
        double r38811 = -1.0;
        double r38812 = im;
        double r38813 = re;
        double r38814 = atan2(r38812, r38813);
        double r38815 = 2.0;
        double r38816 = 1.0;
        double r38817 = base;
        double r38818 = r38816 / r38817;
        double r38819 = cbrt(r38818);
        double r38820 = cbrt(r38819);
        double r38821 = log(r38820);
        double r38822 = 0.3333333333333333;
        double r38823 = pow(r38818, r38822);
        double r38824 = log(r38823);
        double r38825 = r38821 + r38824;
        double r38826 = r38815 * r38825;
        double r38827 = r38826 + r38821;
        double r38828 = r38814 / r38827;
        double r38829 = r38811 * r38828;
        return r38829;
}

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 \color{blue}{\left(\left(\sqrt[3]{\frac{1}{base}} \cdot \sqrt[3]{\frac{1}{base}}\right) \cdot \sqrt[3]{\frac{1}{base}}\right)}}\]
  5. Applied log-prod0.4

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019346 
(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))))