Average Error: 31.6 → 0.3
Time: 20.6s
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 r2500870 = im;
        double r2500871 = re;
        double r2500872 = atan2(r2500870, r2500871);
        double r2500873 = base;
        double r2500874 = log(r2500873);
        double r2500875 = r2500872 * r2500874;
        double r2500876 = r2500871 * r2500871;
        double r2500877 = r2500870 * r2500870;
        double r2500878 = r2500876 + r2500877;
        double r2500879 = sqrt(r2500878);
        double r2500880 = log(r2500879);
        double r2500881 = 0.0;
        double r2500882 = r2500880 * r2500881;
        double r2500883 = r2500875 - r2500882;
        double r2500884 = r2500874 * r2500874;
        double r2500885 = r2500881 * r2500881;
        double r2500886 = r2500884 + r2500885;
        double r2500887 = r2500883 / r2500886;
        return r2500887;
}

double f(double re, double im, double base) {
        double r2500888 = im;
        double r2500889 = re;
        double r2500890 = atan2(r2500888, r2500889);
        double r2500891 = base;
        double r2500892 = log(r2500891);
        double r2500893 = r2500890 / r2500892;
        return r2500893;
}

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