Average Error: 32.1 → 0.3
Time: 17.7s
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 r1797305 = im;
        double r1797306 = re;
        double r1797307 = atan2(r1797305, r1797306);
        double r1797308 = base;
        double r1797309 = log(r1797308);
        double r1797310 = r1797307 * r1797309;
        double r1797311 = r1797306 * r1797306;
        double r1797312 = r1797305 * r1797305;
        double r1797313 = r1797311 + r1797312;
        double r1797314 = sqrt(r1797313);
        double r1797315 = log(r1797314);
        double r1797316 = 0.0;
        double r1797317 = r1797315 * r1797316;
        double r1797318 = r1797310 - r1797317;
        double r1797319 = r1797309 * r1797309;
        double r1797320 = r1797316 * r1797316;
        double r1797321 = r1797319 + r1797320;
        double r1797322 = r1797318 / r1797321;
        return r1797322;
}

double f(double re, double im, double base) {
        double r1797323 = im;
        double r1797324 = re;
        double r1797325 = atan2(r1797323, r1797324);
        double r1797326 = base;
        double r1797327 = log(r1797326);
        double r1797328 = r1797325 / r1797327;
        return r1797328;
}

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