Average Error: 32.0 → 0.3
Time: 19.5s
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 r2863642 = im;
        double r2863643 = re;
        double r2863644 = atan2(r2863642, r2863643);
        double r2863645 = base;
        double r2863646 = log(r2863645);
        double r2863647 = r2863644 * r2863646;
        double r2863648 = r2863643 * r2863643;
        double r2863649 = r2863642 * r2863642;
        double r2863650 = r2863648 + r2863649;
        double r2863651 = sqrt(r2863650);
        double r2863652 = log(r2863651);
        double r2863653 = 0.0;
        double r2863654 = r2863652 * r2863653;
        double r2863655 = r2863647 - r2863654;
        double r2863656 = r2863646 * r2863646;
        double r2863657 = r2863653 * r2863653;
        double r2863658 = r2863656 + r2863657;
        double r2863659 = r2863655 / r2863658;
        return r2863659;
}

double f(double re, double im, double base) {
        double r2863660 = im;
        double r2863661 = re;
        double r2863662 = atan2(r2863660, r2863661);
        double r2863663 = base;
        double r2863664 = log(r2863663);
        double r2863665 = r2863662 / r2863664;
        return r2863665;
}

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.0

    \[\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 2019174 
(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))))