Average Error: 31.5 → 0.3
Time: 23.6s
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 r2022333 = im;
        double r2022334 = re;
        double r2022335 = atan2(r2022333, r2022334);
        double r2022336 = base;
        double r2022337 = log(r2022336);
        double r2022338 = r2022335 * r2022337;
        double r2022339 = r2022334 * r2022334;
        double r2022340 = r2022333 * r2022333;
        double r2022341 = r2022339 + r2022340;
        double r2022342 = sqrt(r2022341);
        double r2022343 = log(r2022342);
        double r2022344 = 0.0;
        double r2022345 = r2022343 * r2022344;
        double r2022346 = r2022338 - r2022345;
        double r2022347 = r2022337 * r2022337;
        double r2022348 = r2022344 * r2022344;
        double r2022349 = r2022347 + r2022348;
        double r2022350 = r2022346 / r2022349;
        return r2022350;
}

double f(double re, double im, double base) {
        double r2022351 = im;
        double r2022352 = re;
        double r2022353 = atan2(r2022351, r2022352);
        double r2022354 = base;
        double r2022355 = log(r2022354);
        double r2022356 = r2022353 / r2022355;
        return r2022356;
}

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