Average Error: 31.6 → 0.3
Time: 21.1s
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 r2442330 = im;
        double r2442331 = re;
        double r2442332 = atan2(r2442330, r2442331);
        double r2442333 = base;
        double r2442334 = log(r2442333);
        double r2442335 = r2442332 * r2442334;
        double r2442336 = r2442331 * r2442331;
        double r2442337 = r2442330 * r2442330;
        double r2442338 = r2442336 + r2442337;
        double r2442339 = sqrt(r2442338);
        double r2442340 = log(r2442339);
        double r2442341 = 0.0;
        double r2442342 = r2442340 * r2442341;
        double r2442343 = r2442335 - r2442342;
        double r2442344 = r2442334 * r2442334;
        double r2442345 = r2442341 * r2442341;
        double r2442346 = r2442344 + r2442345;
        double r2442347 = r2442343 / r2442346;
        return r2442347;
}

double f(double re, double im, double base) {
        double r2442348 = im;
        double r2442349 = re;
        double r2442350 = atan2(r2442348, r2442349);
        double r2442351 = base;
        double r2442352 = log(r2442351);
        double r2442353 = r2442350 / r2442352;
        return r2442353;
}

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}{\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 2019163 +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))))