Average Error: 32.2 → 0.3
Time: 5.2s
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}}{\log \left(\sqrt[3]{1}\right) \cdot 2 + \log \left(\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}}{\log \left(\sqrt[3]{1}\right) \cdot 2 + \log \left(\frac{1}{base}\right)}
double f(double re, double im, double base) {
        double r33689 = im;
        double r33690 = re;
        double r33691 = atan2(r33689, r33690);
        double r33692 = base;
        double r33693 = log(r33692);
        double r33694 = r33691 * r33693;
        double r33695 = r33690 * r33690;
        double r33696 = r33689 * r33689;
        double r33697 = r33695 + r33696;
        double r33698 = sqrt(r33697);
        double r33699 = log(r33698);
        double r33700 = 0.0;
        double r33701 = r33699 * r33700;
        double r33702 = r33694 - r33701;
        double r33703 = r33693 * r33693;
        double r33704 = r33700 * r33700;
        double r33705 = r33703 + r33704;
        double r33706 = r33702 / r33705;
        return r33706;
}

double f(double re, double im, double base) {
        double r33707 = -1.0;
        double r33708 = im;
        double r33709 = re;
        double r33710 = atan2(r33708, r33709);
        double r33711 = 1.0;
        double r33712 = cbrt(r33711);
        double r33713 = log(r33712);
        double r33714 = 2.0;
        double r33715 = r33713 * r33714;
        double r33716 = base;
        double r33717 = r33711 / r33716;
        double r33718 = log(r33717);
        double r33719 = r33715 + r33718;
        double r33720 = r33710 / r33719;
        double r33721 = r33707 * r33720;
        return r33721;
}

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 32.2

    \[\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 *-un-lft-identity0.4

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

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

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

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

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

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

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

Reproduce

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