Average Error: 31.9 → 0.3
Time: 20.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 r41696 = im;
        double r41697 = re;
        double r41698 = atan2(r41696, r41697);
        double r41699 = base;
        double r41700 = log(r41699);
        double r41701 = r41698 * r41700;
        double r41702 = r41697 * r41697;
        double r41703 = r41696 * r41696;
        double r41704 = r41702 + r41703;
        double r41705 = sqrt(r41704);
        double r41706 = log(r41705);
        double r41707 = 0.0;
        double r41708 = r41706 * r41707;
        double r41709 = r41701 - r41708;
        double r41710 = r41700 * r41700;
        double r41711 = r41707 * r41707;
        double r41712 = r41710 + r41711;
        double r41713 = r41709 / r41712;
        return r41713;
}

double f(double re, double im, double base) {
        double r41714 = im;
        double r41715 = re;
        double r41716 = atan2(r41714, r41715);
        double r41717 = -r41716;
        double r41718 = base;
        double r41719 = log(r41718);
        double r41720 = -r41719;
        double r41721 = r41717 / r41720;
        return r41721;
}

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

    \[\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 -inf 64.0

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{\log -1 - \log \left(\frac{-1}{base}\right)}}\]
  3. Simplified0.3

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{0 + \log base}}\]
  4. Using strategy rm
  5. Applied flip-+0.3

    \[\leadsto \frac{\tan^{-1}_* \frac{im}{re}}{\color{blue}{\frac{0 \cdot 0 - \log base \cdot \log base}{0 - \log base}}}\]
  6. Applied associate-/r/0.5

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{0 \cdot 0 - \log base \cdot \log base} \cdot \left(0 - \log base\right)}\]
  7. Simplified0.5

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{-\log base \cdot \log base}} \cdot \left(0 - \log base\right)\]
  8. Taylor expanded around inf 0.3

    \[\leadsto \color{blue}{-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{base}\right)}}\]
  9. Simplified0.3

    \[\leadsto \color{blue}{\frac{-\tan^{-1}_* \frac{im}{re}}{-\log base}}\]
  10. Final simplification0.3

    \[\leadsto \frac{-\tan^{-1}_* \frac{im}{re}}{-\log base}\]

Reproduce

herbie shell --seed 2019194 
(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))))