Average Error: 31.9 → 0.6
Time: 5.1s
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{1}{\frac{2 \cdot \log \left(\frac{\sqrt[3]{1}}{\sqrt[3]{base}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}{\tan^{-1}_* \frac{im}{re}}}\]
\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{1}{\frac{2 \cdot \log \left(\frac{\sqrt[3]{1}}{\sqrt[3]{base}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}{\tan^{-1}_* \frac{im}{re}}}
double f(double re, double im, double base) {
        double r28756 = im;
        double r28757 = re;
        double r28758 = atan2(r28756, r28757);
        double r28759 = base;
        double r28760 = log(r28759);
        double r28761 = r28758 * r28760;
        double r28762 = r28757 * r28757;
        double r28763 = r28756 * r28756;
        double r28764 = r28762 + r28763;
        double r28765 = sqrt(r28764);
        double r28766 = log(r28765);
        double r28767 = 0.0;
        double r28768 = r28766 * r28767;
        double r28769 = r28761 - r28768;
        double r28770 = r28760 * r28760;
        double r28771 = r28767 * r28767;
        double r28772 = r28770 + r28771;
        double r28773 = r28769 / r28772;
        return r28773;
}

double f(double re, double im, double base) {
        double r28774 = -1.0;
        double r28775 = 1.0;
        double r28776 = 2.0;
        double r28777 = cbrt(r28775);
        double r28778 = base;
        double r28779 = cbrt(r28778);
        double r28780 = r28777 / r28779;
        double r28781 = log(r28780);
        double r28782 = r28776 * r28781;
        double r28783 = r28775 / r28779;
        double r28784 = log(r28783);
        double r28785 = r28782 + r28784;
        double r28786 = im;
        double r28787 = re;
        double r28788 = atan2(r28786, r28787);
        double r28789 = r28785 / r28788;
        double r28790 = r28775 / r28789;
        double r28791 = r28774 * r28790;
        return r28791;
}

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 clear-num0.5

    \[\leadsto -1 \cdot \color{blue}{\frac{1}{\frac{\log \left(\frac{1}{base}\right)}{\tan^{-1}_* \frac{im}{re}}}}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt0.5

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

    \[\leadsto -1 \cdot \frac{1}{\frac{\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)}{\tan^{-1}_* \frac{im}{re}}}\]
  8. Applied times-frac0.5

    \[\leadsto -1 \cdot \frac{1}{\frac{\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)}}{\tan^{-1}_* \frac{im}{re}}}\]
  9. Applied log-prod0.6

    \[\leadsto -1 \cdot \frac{1}{\frac{\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)}}{\tan^{-1}_* \frac{im}{re}}}\]
  10. Simplified0.6

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

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

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

Reproduce

herbie shell --seed 2019353 +o rules:numerics
(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))))