Average Error: 32.1 → 0.3
Time: 30.8s
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{\tan^{-1}_* \frac{im}{re} \cdot \sqrt[3]{-1}}{\log base}\]
\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{\tan^{-1}_* \frac{im}{re} \cdot \sqrt[3]{-1}}{\log base}
double f(double re, double im, double base) {
        double r35895 = im;
        double r35896 = re;
        double r35897 = atan2(r35895, r35896);
        double r35898 = base;
        double r35899 = log(r35898);
        double r35900 = r35897 * r35899;
        double r35901 = r35896 * r35896;
        double r35902 = r35895 * r35895;
        double r35903 = r35901 + r35902;
        double r35904 = sqrt(r35903);
        double r35905 = log(r35904);
        double r35906 = 0.0;
        double r35907 = r35905 * r35906;
        double r35908 = r35900 - r35907;
        double r35909 = r35899 * r35899;
        double r35910 = r35906 * r35906;
        double r35911 = r35909 + r35910;
        double r35912 = r35908 / r35911;
        return r35912;
}

double f(double re, double im, double base) {
        double r35913 = im;
        double r35914 = re;
        double r35915 = atan2(r35913, r35914);
        double r35916 = -1.0;
        double r35917 = cbrt(r35916);
        double r35918 = r35915 * r35917;
        double r35919 = base;
        double r35920 = log(r35919);
        double r35921 = r35918 / r35920;
        double r35922 = -r35921;
        return r35922;
}

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

    \[\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. Simplified0.3

    \[\leadsto \color{blue}{-\frac{\tan^{-1}_* \frac{im}{re}}{-\log base}}\]
  4. Using strategy rm
  5. Applied div-inv0.4

    \[\leadsto -\color{blue}{\tan^{-1}_* \frac{im}{re} \cdot \frac{1}{-\log base}}\]
  6. Using strategy rm
  7. Applied add-cbrt-cube0.6

    \[\leadsto -\tan^{-1}_* \frac{im}{re} \cdot \frac{1}{\color{blue}{\sqrt[3]{\left(\left(-\log base\right) \cdot \left(-\log base\right)\right) \cdot \left(-\log base\right)}}}\]
  8. Applied add-cbrt-cube0.6

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

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

    \[\leadsto -\tan^{-1}_* \frac{im}{re} \cdot \sqrt[3]{\color{blue}{\frac{1}{{\left(-\log base\right)}^{3}}}}\]
  11. Taylor expanded around 0 0.3

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

    \[\leadsto -\frac{\tan^{-1}_* \frac{im}{re} \cdot \sqrt[3]{-1}}{\log base}\]

Reproduce

herbie shell --seed 2019198 
(FPCore (re im base)
  :name "math.log/2 on complex, imaginary part"
  (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))