Average Error: 30.8 → 0.3
Time: 1.6m
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 r2371666 = im;
        double r2371667 = re;
        double r2371668 = atan2(r2371666, r2371667);
        double r2371669 = base;
        double r2371670 = log(r2371669);
        double r2371671 = r2371668 * r2371670;
        double r2371672 = r2371667 * r2371667;
        double r2371673 = r2371666 * r2371666;
        double r2371674 = r2371672 + r2371673;
        double r2371675 = sqrt(r2371674);
        double r2371676 = log(r2371675);
        double r2371677 = 0.0;
        double r2371678 = r2371676 * r2371677;
        double r2371679 = r2371671 - r2371678;
        double r2371680 = r2371670 * r2371670;
        double r2371681 = r2371677 * r2371677;
        double r2371682 = r2371680 + r2371681;
        double r2371683 = r2371679 / r2371682;
        return r2371683;
}

double f(double re, double im, double base) {
        double r2371684 = im;
        double r2371685 = re;
        double r2371686 = atan2(r2371684, r2371685);
        double r2371687 = base;
        double r2371688 = log(r2371687);
        double r2371689 = r2371686 / r2371688;
        return r2371689;
}

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