Average Error: 31.9 → 0.4
Time: 6.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}\]
\[\frac{-\frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\sqrt[3]{base}\right)}}{-\left(2 + 1\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}
\frac{-\frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\sqrt[3]{base}\right)}}{-\left(2 + 1\right)}
double f(double re, double im, double base) {
        double r47687 = im;
        double r47688 = re;
        double r47689 = atan2(r47687, r47688);
        double r47690 = base;
        double r47691 = log(r47690);
        double r47692 = r47689 * r47691;
        double r47693 = r47688 * r47688;
        double r47694 = r47687 * r47687;
        double r47695 = r47693 + r47694;
        double r47696 = sqrt(r47695);
        double r47697 = log(r47696);
        double r47698 = 0.0;
        double r47699 = r47697 * r47698;
        double r47700 = r47692 - r47699;
        double r47701 = r47691 * r47691;
        double r47702 = r47698 * r47698;
        double r47703 = r47701 + r47702;
        double r47704 = r47700 / r47703;
        return r47704;
}

double f(double re, double im, double base) {
        double r47705 = im;
        double r47706 = re;
        double r47707 = atan2(r47705, r47706);
        double r47708 = base;
        double r47709 = cbrt(r47708);
        double r47710 = log(r47709);
        double r47711 = r47707 / r47710;
        double r47712 = -r47711;
        double r47713 = 2.0;
        double r47714 = 1.0;
        double r47715 = r47713 + r47714;
        double r47716 = -r47715;
        double r47717 = r47712 / r47716;
        return r47717;
}

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.9

    \[\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. Using strategy rm
  11. Applied pow10.4

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

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

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

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

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

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

Reproduce

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