Average Error: 30.7 → 0.3
Time: 19.4s
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 r1767146 = im;
        double r1767147 = re;
        double r1767148 = atan2(r1767146, r1767147);
        double r1767149 = base;
        double r1767150 = log(r1767149);
        double r1767151 = r1767148 * r1767150;
        double r1767152 = r1767147 * r1767147;
        double r1767153 = r1767146 * r1767146;
        double r1767154 = r1767152 + r1767153;
        double r1767155 = sqrt(r1767154);
        double r1767156 = log(r1767155);
        double r1767157 = 0.0;
        double r1767158 = r1767156 * r1767157;
        double r1767159 = r1767151 - r1767158;
        double r1767160 = r1767150 * r1767150;
        double r1767161 = r1767157 * r1767157;
        double r1767162 = r1767160 + r1767161;
        double r1767163 = r1767159 / r1767162;
        return r1767163;
}

double f(double re, double im, double base) {
        double r1767164 = im;
        double r1767165 = re;
        double r1767166 = atan2(r1767164, r1767165);
        double r1767167 = base;
        double r1767168 = log(r1767167);
        double r1767169 = r1767166 / r1767168;
        return r1767169;
}

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 30.7

    \[\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 2019162 +o rules:numerics
(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))))