Average Error: 32.1 → 0.3
Time: 42.1s
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 r1592744 = im;
        double r1592745 = re;
        double r1592746 = atan2(r1592744, r1592745);
        double r1592747 = base;
        double r1592748 = log(r1592747);
        double r1592749 = r1592746 * r1592748;
        double r1592750 = r1592745 * r1592745;
        double r1592751 = r1592744 * r1592744;
        double r1592752 = r1592750 + r1592751;
        double r1592753 = sqrt(r1592752);
        double r1592754 = log(r1592753);
        double r1592755 = 0.0;
        double r1592756 = r1592754 * r1592755;
        double r1592757 = r1592749 - r1592756;
        double r1592758 = r1592748 * r1592748;
        double r1592759 = r1592755 * r1592755;
        double r1592760 = r1592758 + r1592759;
        double r1592761 = r1592757 / r1592760;
        return r1592761;
}

double f(double re, double im, double base) {
        double r1592762 = im;
        double r1592763 = re;
        double r1592764 = atan2(r1592762, r1592763);
        double r1592765 = base;
        double r1592766 = log(r1592765);
        double r1592767 = r1592764 / r1592766;
        return r1592767;
}

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

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