Average Error: 30.7 → 0.3
Time: 19.2s
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 r3581105 = im;
        double r3581106 = re;
        double r3581107 = atan2(r3581105, r3581106);
        double r3581108 = base;
        double r3581109 = log(r3581108);
        double r3581110 = r3581107 * r3581109;
        double r3581111 = r3581106 * r3581106;
        double r3581112 = r3581105 * r3581105;
        double r3581113 = r3581111 + r3581112;
        double r3581114 = sqrt(r3581113);
        double r3581115 = log(r3581114);
        double r3581116 = 0.0;
        double r3581117 = r3581115 * r3581116;
        double r3581118 = r3581110 - r3581117;
        double r3581119 = r3581109 * r3581109;
        double r3581120 = r3581116 * r3581116;
        double r3581121 = r3581119 + r3581120;
        double r3581122 = r3581118 / r3581121;
        return r3581122;
}

double f(double re, double im, double base) {
        double r3581123 = im;
        double r3581124 = re;
        double r3581125 = atan2(r3581123, r3581124);
        double r3581126 = base;
        double r3581127 = log(r3581126);
        double r3581128 = r3581125 / r3581127;
        return r3581128;
}

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