Average Error: 31.4 → 0.6
Time: 18.0s
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{1}{\frac{\log base}{\tan^{-1}_* \frac{im}{re}}}\]
\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{1}{\frac{\log base}{\tan^{-1}_* \frac{im}{re}}}
double f(double re, double im, double base) {
        double r773320 = im;
        double r773321 = re;
        double r773322 = atan2(r773320, r773321);
        double r773323 = base;
        double r773324 = log(r773323);
        double r773325 = r773322 * r773324;
        double r773326 = r773321 * r773321;
        double r773327 = r773320 * r773320;
        double r773328 = r773326 + r773327;
        double r773329 = sqrt(r773328);
        double r773330 = log(r773329);
        double r773331 = 0.0;
        double r773332 = r773330 * r773331;
        double r773333 = r773325 - r773332;
        double r773334 = r773324 * r773324;
        double r773335 = r773331 * r773331;
        double r773336 = r773334 + r773335;
        double r773337 = r773333 / r773336;
        return r773337;
}

double f(double re, double im, double base) {
        double r773338 = 1.0;
        double r773339 = base;
        double r773340 = log(r773339);
        double r773341 = im;
        double r773342 = re;
        double r773343 = atan2(r773341, r773342);
        double r773344 = r773340 / r773343;
        double r773345 = r773338 / r773344;
        return r773345;
}

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}{\log base \cdot \log base + 0 \cdot 0}\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re}}{\log base}}\]
  3. Using strategy rm
  4. Applied clear-num0.6

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

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

Reproduce

herbie shell --seed 2019151 +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))))