Average Error: 31.6 → 0.3
Time: 18.4s
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 r36344 = im;
        double r36345 = re;
        double r36346 = atan2(r36344, r36345);
        double r36347 = base;
        double r36348 = log(r36347);
        double r36349 = r36346 * r36348;
        double r36350 = r36345 * r36345;
        double r36351 = r36344 * r36344;
        double r36352 = r36350 + r36351;
        double r36353 = sqrt(r36352);
        double r36354 = log(r36353);
        double r36355 = 0.0;
        double r36356 = r36354 * r36355;
        double r36357 = r36349 - r36356;
        double r36358 = r36348 * r36348;
        double r36359 = r36355 * r36355;
        double r36360 = r36358 + r36359;
        double r36361 = r36357 / r36360;
        return r36361;
}

double f(double re, double im, double base) {
        double r36362 = im;
        double r36363 = re;
        double r36364 = atan2(r36362, r36363);
        double r36365 = base;
        double r36366 = log(r36365);
        double r36367 = -r36366;
        double r36368 = r36364 / r36367;
        double r36369 = -r36368;
        return r36369;
}

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 -inf 64.0

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{\log -1 - \log \left(\frac{-1}{base}\right)}}\]
  3. Simplified0.3

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{0 + \log base}}\]
  4. Taylor expanded around inf 0.3

    \[\leadsto \color{blue}{-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{base}\right)}}\]
  5. Simplified0.3

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

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

Reproduce

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