Average Error: 30.7 → 0.3
Time: 26.5s
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 r1904483 = im;
        double r1904484 = re;
        double r1904485 = atan2(r1904483, r1904484);
        double r1904486 = base;
        double r1904487 = log(r1904486);
        double r1904488 = r1904485 * r1904487;
        double r1904489 = r1904484 * r1904484;
        double r1904490 = r1904483 * r1904483;
        double r1904491 = r1904489 + r1904490;
        double r1904492 = sqrt(r1904491);
        double r1904493 = log(r1904492);
        double r1904494 = 0.0;
        double r1904495 = r1904493 * r1904494;
        double r1904496 = r1904488 - r1904495;
        double r1904497 = r1904487 * r1904487;
        double r1904498 = r1904494 * r1904494;
        double r1904499 = r1904497 + r1904498;
        double r1904500 = r1904496 / r1904499;
        return r1904500;
}

double f(double re, double im, double base) {
        double r1904501 = im;
        double r1904502 = re;
        double r1904503 = atan2(r1904501, r1904502);
        double r1904504 = base;
        double r1904505 = log(r1904504);
        double r1904506 = r1904503 / r1904505;
        return r1904506;
}

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 30.7

    \[\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 2019158 
(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))))