Average Error: 30.7 → 0.3
Time: 21.8s
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 r2041873 = im;
        double r2041874 = re;
        double r2041875 = atan2(r2041873, r2041874);
        double r2041876 = base;
        double r2041877 = log(r2041876);
        double r2041878 = r2041875 * r2041877;
        double r2041879 = r2041874 * r2041874;
        double r2041880 = r2041873 * r2041873;
        double r2041881 = r2041879 + r2041880;
        double r2041882 = sqrt(r2041881);
        double r2041883 = log(r2041882);
        double r2041884 = 0.0;
        double r2041885 = r2041883 * r2041884;
        double r2041886 = r2041878 - r2041885;
        double r2041887 = r2041877 * r2041877;
        double r2041888 = r2041884 * r2041884;
        double r2041889 = r2041887 + r2041888;
        double r2041890 = r2041886 / r2041889;
        return r2041890;
}

double f(double re, double im, double base) {
        double r2041891 = im;
        double r2041892 = re;
        double r2041893 = atan2(r2041891, r2041892);
        double r2041894 = base;
        double r2041895 = log(r2041894);
        double r2041896 = r2041893 / r2041895;
        return r2041896;
}

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 30.7

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