Average Error: 32.1 → 0.3
Time: 18.3s
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 r2102472 = im;
        double r2102473 = re;
        double r2102474 = atan2(r2102472, r2102473);
        double r2102475 = base;
        double r2102476 = log(r2102475);
        double r2102477 = r2102474 * r2102476;
        double r2102478 = r2102473 * r2102473;
        double r2102479 = r2102472 * r2102472;
        double r2102480 = r2102478 + r2102479;
        double r2102481 = sqrt(r2102480);
        double r2102482 = log(r2102481);
        double r2102483 = 0.0;
        double r2102484 = r2102482 * r2102483;
        double r2102485 = r2102477 - r2102484;
        double r2102486 = r2102476 * r2102476;
        double r2102487 = r2102483 * r2102483;
        double r2102488 = r2102486 + r2102487;
        double r2102489 = r2102485 / r2102488;
        return r2102489;
}

double f(double re, double im, double base) {
        double r2102490 = im;
        double r2102491 = re;
        double r2102492 = atan2(r2102490, r2102491);
        double r2102493 = base;
        double r2102494 = log(r2102493);
        double r2102495 = r2102492 / r2102494;
        return r2102495;
}

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 32.1

    \[\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 0 0.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 2019171 
(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))))