Average Error: 31.6 → 0.3
Time: 5.9s
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({base}^{\frac{1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{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}}{\left(-2\right) \cdot \log \left({base}^{\frac{1}{3}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}
double f(double re, double im, double base) {
        double r39674 = im;
        double r39675 = re;
        double r39676 = atan2(r39674, r39675);
        double r39677 = base;
        double r39678 = log(r39677);
        double r39679 = r39676 * r39678;
        double r39680 = r39675 * r39675;
        double r39681 = r39674 * r39674;
        double r39682 = r39680 + r39681;
        double r39683 = sqrt(r39682);
        double r39684 = log(r39683);
        double r39685 = 0.0;
        double r39686 = r39684 * r39685;
        double r39687 = r39679 - r39686;
        double r39688 = r39678 * r39678;
        double r39689 = r39685 * r39685;
        double r39690 = r39688 + r39689;
        double r39691 = r39687 / r39690;
        return r39691;
}

double f(double re, double im, double base) {
        double r39692 = -1.0;
        double r39693 = im;
        double r39694 = re;
        double r39695 = atan2(r39693, r39694);
        double r39696 = 2.0;
        double r39697 = -r39696;
        double r39698 = base;
        double r39699 = 0.3333333333333333;
        double r39700 = pow(r39698, r39699);
        double r39701 = log(r39700);
        double r39702 = r39697 * r39701;
        double r39703 = 1.0;
        double r39704 = cbrt(r39698);
        double r39705 = r39703 / r39704;
        double r39706 = log(r39705);
        double r39707 = r39702 + r39706;
        double r39708 = r39695 / r39707;
        double r39709 = r39692 * r39708;
        return r39709;
}

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

    \[\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 pow1/30.3

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

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

Reproduce

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