Average Error: 31.6 → 0.3
Time: 19.0s
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 r1680834 = im;
        double r1680835 = re;
        double r1680836 = atan2(r1680834, r1680835);
        double r1680837 = base;
        double r1680838 = log(r1680837);
        double r1680839 = r1680836 * r1680838;
        double r1680840 = r1680835 * r1680835;
        double r1680841 = r1680834 * r1680834;
        double r1680842 = r1680840 + r1680841;
        double r1680843 = sqrt(r1680842);
        double r1680844 = log(r1680843);
        double r1680845 = 0.0;
        double r1680846 = r1680844 * r1680845;
        double r1680847 = r1680839 - r1680846;
        double r1680848 = r1680838 * r1680838;
        double r1680849 = r1680845 * r1680845;
        double r1680850 = r1680848 + r1680849;
        double r1680851 = r1680847 / r1680850;
        return r1680851;
}

double f(double re, double im, double base) {
        double r1680852 = im;
        double r1680853 = re;
        double r1680854 = atan2(r1680852, r1680853);
        double r1680855 = base;
        double r1680856 = log(r1680855);
        double r1680857 = r1680854 / r1680856;
        return r1680857;
}

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

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

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

Reproduce

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