Average Error: 31.8 → 0.3
Time: 6.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}}{\log \left(\frac{{\left({base}^{\frac{1}{3}}\right)}^{\left(-2\right)}}{{base}^{\frac{1}{3}}}\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(\frac{{\left({base}^{\frac{1}{3}}\right)}^{\left(-2\right)}}{{base}^{\frac{1}{3}}}\right)}
double f(double re, double im, double base) {
        double r58636 = im;
        double r58637 = re;
        double r58638 = atan2(r58636, r58637);
        double r58639 = base;
        double r58640 = log(r58639);
        double r58641 = r58638 * r58640;
        double r58642 = r58637 * r58637;
        double r58643 = r58636 * r58636;
        double r58644 = r58642 + r58643;
        double r58645 = sqrt(r58644);
        double r58646 = log(r58645);
        double r58647 = 0.0;
        double r58648 = r58646 * r58647;
        double r58649 = r58641 - r58648;
        double r58650 = r58640 * r58640;
        double r58651 = r58647 * r58647;
        double r58652 = r58650 + r58651;
        double r58653 = r58649 / r58652;
        return r58653;
}

double f(double re, double im, double base) {
        double r58654 = -1.0;
        double r58655 = im;
        double r58656 = re;
        double r58657 = atan2(r58655, r58656);
        double r58658 = base;
        double r58659 = 0.3333333333333333;
        double r58660 = pow(r58658, r58659);
        double r58661 = 2.0;
        double r58662 = -r58661;
        double r58663 = pow(r58660, r58662);
        double r58664 = r58663 / r58660;
        double r58665 = log(r58664);
        double r58666 = r58657 / r58665;
        double r58667 = r58654 * r58666;
        return r58667;
}

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-log-exp0.3

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

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

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

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{{\left({base}^{\frac{1}{3}}\right)}^{\left(-2\right)}}{{base}^{\frac{1}{3}}}\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))))