Average Error: 32.0 → 0.3
Time: 20.3s
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 r1890662 = im;
        double r1890663 = re;
        double r1890664 = atan2(r1890662, r1890663);
        double r1890665 = base;
        double r1890666 = log(r1890665);
        double r1890667 = r1890664 * r1890666;
        double r1890668 = r1890663 * r1890663;
        double r1890669 = r1890662 * r1890662;
        double r1890670 = r1890668 + r1890669;
        double r1890671 = sqrt(r1890670);
        double r1890672 = log(r1890671);
        double r1890673 = 0.0;
        double r1890674 = r1890672 * r1890673;
        double r1890675 = r1890667 - r1890674;
        double r1890676 = r1890666 * r1890666;
        double r1890677 = r1890673 * r1890673;
        double r1890678 = r1890676 + r1890677;
        double r1890679 = r1890675 / r1890678;
        return r1890679;
}

double f(double re, double im, double base) {
        double r1890680 = im;
        double r1890681 = re;
        double r1890682 = atan2(r1890680, r1890681);
        double r1890683 = base;
        double r1890684 = log(r1890683);
        double r1890685 = r1890682 / r1890684;
        return r1890685;
}

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