Average Error: 32.0 → 0.3
Time: 20.9s
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 r2130052 = im;
        double r2130053 = re;
        double r2130054 = atan2(r2130052, r2130053);
        double r2130055 = base;
        double r2130056 = log(r2130055);
        double r2130057 = r2130054 * r2130056;
        double r2130058 = r2130053 * r2130053;
        double r2130059 = r2130052 * r2130052;
        double r2130060 = r2130058 + r2130059;
        double r2130061 = sqrt(r2130060);
        double r2130062 = log(r2130061);
        double r2130063 = 0.0;
        double r2130064 = r2130062 * r2130063;
        double r2130065 = r2130057 - r2130064;
        double r2130066 = r2130056 * r2130056;
        double r2130067 = r2130063 * r2130063;
        double r2130068 = r2130066 + r2130067;
        double r2130069 = r2130065 / r2130068;
        return r2130069;
}

double f(double re, double im, double base) {
        double r2130070 = im;
        double r2130071 = re;
        double r2130072 = atan2(r2130070, r2130071);
        double r2130073 = base;
        double r2130074 = log(r2130073);
        double r2130075 = r2130072 / r2130074;
        return r2130075;
}

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