Average Error: 31.1 → 0.3
Time: 19.1s
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 r976630 = im;
        double r976631 = re;
        double r976632 = atan2(r976630, r976631);
        double r976633 = base;
        double r976634 = log(r976633);
        double r976635 = r976632 * r976634;
        double r976636 = r976631 * r976631;
        double r976637 = r976630 * r976630;
        double r976638 = r976636 + r976637;
        double r976639 = sqrt(r976638);
        double r976640 = log(r976639);
        double r976641 = 0.0;
        double r976642 = r976640 * r976641;
        double r976643 = r976635 - r976642;
        double r976644 = r976634 * r976634;
        double r976645 = r976641 * r976641;
        double r976646 = r976644 + r976645;
        double r976647 = r976643 / r976646;
        return r976647;
}

double f(double re, double im, double base) {
        double r976648 = im;
        double r976649 = re;
        double r976650 = atan2(r976648, r976649);
        double r976651 = base;
        double r976652 = log(r976651);
        double r976653 = r976650 / r976652;
        return r976653;
}

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

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