Average Error: 31.7 → 0.3
Time: 13.2s
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}}{\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}}{\log base}
double f(double re, double im, double base) {
        double r93824 = im;
        double r93825 = re;
        double r93826 = atan2(r93824, r93825);
        double r93827 = base;
        double r93828 = log(r93827);
        double r93829 = r93826 * r93828;
        double r93830 = r93825 * r93825;
        double r93831 = r93824 * r93824;
        double r93832 = r93830 + r93831;
        double r93833 = sqrt(r93832);
        double r93834 = log(r93833);
        double r93835 = 0.0;
        double r93836 = r93834 * r93835;
        double r93837 = r93829 - r93836;
        double r93838 = r93828 * r93828;
        double r93839 = r93835 * r93835;
        double r93840 = r93838 + r93839;
        double r93841 = r93837 / r93840;
        return r93841;
}

double f(double re, double im, double base) {
        double r93842 = im;
        double r93843 = re;
        double r93844 = atan2(r93842, r93843);
        double r93845 = base;
        double r93846 = log(r93845);
        double r93847 = r93844 / r93846;
        return r93847;
}

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

    \[\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 0 0.3

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

    \[\leadsto \color{blue}{\frac{1}{\frac{\log base}{\tan^{-1}_* \frac{im}{re}}}}\]
  5. Taylor expanded around 0 0.3

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

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

Reproduce

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