Average Error: 31.2 → 0.3
Time: 13.8s
Precision: 64
\[\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0}{\log base \cdot \log base + 0 \cdot 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}{\log base \cdot \log base + 0 \cdot 0}
\frac{\tan^{-1}_* \frac{im}{re}}{\log base}
double f(double re, double im, double base) {
        double r902843 = im;
        double r902844 = re;
        double r902845 = atan2(r902843, r902844);
        double r902846 = base;
        double r902847 = log(r902846);
        double r902848 = r902845 * r902847;
        double r902849 = r902844 * r902844;
        double r902850 = r902843 * r902843;
        double r902851 = r902849 + r902850;
        double r902852 = sqrt(r902851);
        double r902853 = log(r902852);
        double r902854 = 0.0;
        double r902855 = r902853 * r902854;
        double r902856 = r902848 - r902855;
        double r902857 = r902847 * r902847;
        double r902858 = r902854 * r902854;
        double r902859 = r902857 + r902858;
        double r902860 = r902856 / r902859;
        return r902860;
}

double f(double re, double im, double base) {
        double r902861 = im;
        double r902862 = re;
        double r902863 = atan2(r902861, r902862);
        double r902864 = base;
        double r902865 = log(r902864);
        double r902866 = r902863 / r902865;
        return r902866;
}

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

    \[\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
  2. Simplified0.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 2019156 
(FPCore (re im base)
  :name "math.log/2 on complex, imaginary part"
  (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))))