Average Error: 31.6 → 0.3
Time: 21.7s
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 r2345778 = im;
        double r2345779 = re;
        double r2345780 = atan2(r2345778, r2345779);
        double r2345781 = base;
        double r2345782 = log(r2345781);
        double r2345783 = r2345780 * r2345782;
        double r2345784 = r2345779 * r2345779;
        double r2345785 = r2345778 * r2345778;
        double r2345786 = r2345784 + r2345785;
        double r2345787 = sqrt(r2345786);
        double r2345788 = log(r2345787);
        double r2345789 = 0.0;
        double r2345790 = r2345788 * r2345789;
        double r2345791 = r2345783 - r2345790;
        double r2345792 = r2345782 * r2345782;
        double r2345793 = r2345789 * r2345789;
        double r2345794 = r2345792 + r2345793;
        double r2345795 = r2345791 / r2345794;
        return r2345795;
}

double f(double re, double im, double base) {
        double r2345796 = im;
        double r2345797 = re;
        double r2345798 = atan2(r2345796, r2345797);
        double r2345799 = base;
        double r2345800 = log(r2345799);
        double r2345801 = r2345798 / r2345800;
        return r2345801;
}

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