Average Error: 31.4 → 0.3
Time: 17.0s
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 r37366 = im;
        double r37367 = re;
        double r37368 = atan2(r37366, r37367);
        double r37369 = base;
        double r37370 = log(r37369);
        double r37371 = r37368 * r37370;
        double r37372 = r37367 * r37367;
        double r37373 = r37366 * r37366;
        double r37374 = r37372 + r37373;
        double r37375 = sqrt(r37374);
        double r37376 = log(r37375);
        double r37377 = 0.0;
        double r37378 = r37376 * r37377;
        double r37379 = r37371 - r37378;
        double r37380 = r37370 * r37370;
        double r37381 = r37377 * r37377;
        double r37382 = r37380 + r37381;
        double r37383 = r37379 / r37382;
        return r37383;
}

double f(double re, double im, double base) {
        double r37384 = im;
        double r37385 = re;
        double r37386 = atan2(r37384, r37385);
        double r37387 = base;
        double r37388 = log(r37387);
        double r37389 = r37386 / r37388;
        return r37389;
}

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

    \[\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. Simplified31.4

    \[\leadsto \color{blue}{\frac{\log base \cdot \tan^{-1}_* \frac{im}{re} - \log \left(\sqrt{im \cdot im + re \cdot re}\right) \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
  3. Taylor expanded around -inf 64.0

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

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

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

Reproduce

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