Average Error: 31.5 → 0.3
Time: 21.8s
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 r2061086 = im;
        double r2061087 = re;
        double r2061088 = atan2(r2061086, r2061087);
        double r2061089 = base;
        double r2061090 = log(r2061089);
        double r2061091 = r2061088 * r2061090;
        double r2061092 = r2061087 * r2061087;
        double r2061093 = r2061086 * r2061086;
        double r2061094 = r2061092 + r2061093;
        double r2061095 = sqrt(r2061094);
        double r2061096 = log(r2061095);
        double r2061097 = 0.0;
        double r2061098 = r2061096 * r2061097;
        double r2061099 = r2061091 - r2061098;
        double r2061100 = r2061090 * r2061090;
        double r2061101 = r2061097 * r2061097;
        double r2061102 = r2061100 + r2061101;
        double r2061103 = r2061099 / r2061102;
        return r2061103;
}

double f(double re, double im, double base) {
        double r2061104 = im;
        double r2061105 = re;
        double r2061106 = atan2(r2061104, r2061105);
        double r2061107 = base;
        double r2061108 = log(r2061107);
        double r2061109 = r2061106 / r2061108;
        return r2061109;
}

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

    \[\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 2019168 +o rules:numerics
(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))))