Average Error: 31.2 → 0.3
Time: 1.1m
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 r1320929 = im;
        double r1320930 = re;
        double r1320931 = atan2(r1320929, r1320930);
        double r1320932 = base;
        double r1320933 = log(r1320932);
        double r1320934 = r1320931 * r1320933;
        double r1320935 = r1320930 * r1320930;
        double r1320936 = r1320929 * r1320929;
        double r1320937 = r1320935 + r1320936;
        double r1320938 = sqrt(r1320937);
        double r1320939 = log(r1320938);
        double r1320940 = 0.0;
        double r1320941 = r1320939 * r1320940;
        double r1320942 = r1320934 - r1320941;
        double r1320943 = r1320933 * r1320933;
        double r1320944 = r1320940 * r1320940;
        double r1320945 = r1320943 + r1320944;
        double r1320946 = r1320942 / r1320945;
        return r1320946;
}

double f(double re, double im, double base) {
        double r1320947 = im;
        double r1320948 = re;
        double r1320949 = atan2(r1320947, r1320948);
        double r1320950 = base;
        double r1320951 = log(r1320950);
        double r1320952 = r1320949 / r1320951;
        return r1320952;
}

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

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