Average Error: 31.3 → 0.3
Time: 15.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 r883547 = im;
        double r883548 = re;
        double r883549 = atan2(r883547, r883548);
        double r883550 = base;
        double r883551 = log(r883550);
        double r883552 = r883549 * r883551;
        double r883553 = r883548 * r883548;
        double r883554 = r883547 * r883547;
        double r883555 = r883553 + r883554;
        double r883556 = sqrt(r883555);
        double r883557 = log(r883556);
        double r883558 = 0.0;
        double r883559 = r883557 * r883558;
        double r883560 = r883552 - r883559;
        double r883561 = r883551 * r883551;
        double r883562 = r883558 * r883558;
        double r883563 = r883561 + r883562;
        double r883564 = r883560 / r883563;
        return r883564;
}

double f(double re, double im, double base) {
        double r883565 = im;
        double r883566 = re;
        double r883567 = atan2(r883565, r883566);
        double r883568 = base;
        double r883569 = log(r883568);
        double r883570 = r883567 / r883569;
        return r883570;
}

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

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