Average Error: 32.0 → 0.3
Time: 43.2s
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 r2187818 = im;
        double r2187819 = re;
        double r2187820 = atan2(r2187818, r2187819);
        double r2187821 = base;
        double r2187822 = log(r2187821);
        double r2187823 = r2187820 * r2187822;
        double r2187824 = r2187819 * r2187819;
        double r2187825 = r2187818 * r2187818;
        double r2187826 = r2187824 + r2187825;
        double r2187827 = sqrt(r2187826);
        double r2187828 = log(r2187827);
        double r2187829 = 0.0;
        double r2187830 = r2187828 * r2187829;
        double r2187831 = r2187823 - r2187830;
        double r2187832 = r2187822 * r2187822;
        double r2187833 = r2187829 * r2187829;
        double r2187834 = r2187832 + r2187833;
        double r2187835 = r2187831 / r2187834;
        return r2187835;
}

double f(double re, double im, double base) {
        double r2187836 = im;
        double r2187837 = re;
        double r2187838 = atan2(r2187836, r2187837);
        double r2187839 = base;
        double r2187840 = log(r2187839);
        double r2187841 = r2187838 / r2187840;
        return r2187841;
}

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