Average Error: 30.8 → 0.3
Time: 17.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 r849306 = im;
        double r849307 = re;
        double r849308 = atan2(r849306, r849307);
        double r849309 = base;
        double r849310 = log(r849309);
        double r849311 = r849308 * r849310;
        double r849312 = r849307 * r849307;
        double r849313 = r849306 * r849306;
        double r849314 = r849312 + r849313;
        double r849315 = sqrt(r849314);
        double r849316 = log(r849315);
        double r849317 = 0.0;
        double r849318 = r849316 * r849317;
        double r849319 = r849311 - r849318;
        double r849320 = r849310 * r849310;
        double r849321 = r849317 * r849317;
        double r849322 = r849320 + r849321;
        double r849323 = r849319 / r849322;
        return r849323;
}

double f(double re, double im, double base) {
        double r849324 = im;
        double r849325 = re;
        double r849326 = atan2(r849324, r849325);
        double r849327 = base;
        double r849328 = log(r849327);
        double r849329 = r849326 / r849328;
        return r849329;
}

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

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