Average Error: 30.8 → 0.3
Time: 1.4m
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 r1507186 = im;
        double r1507187 = re;
        double r1507188 = atan2(r1507186, r1507187);
        double r1507189 = base;
        double r1507190 = log(r1507189);
        double r1507191 = r1507188 * r1507190;
        double r1507192 = r1507187 * r1507187;
        double r1507193 = r1507186 * r1507186;
        double r1507194 = r1507192 + r1507193;
        double r1507195 = sqrt(r1507194);
        double r1507196 = log(r1507195);
        double r1507197 = 0.0;
        double r1507198 = r1507196 * r1507197;
        double r1507199 = r1507191 - r1507198;
        double r1507200 = r1507190 * r1507190;
        double r1507201 = r1507197 * r1507197;
        double r1507202 = r1507200 + r1507201;
        double r1507203 = r1507199 / r1507202;
        return r1507203;
}

double f(double re, double im, double base) {
        double r1507204 = im;
        double r1507205 = re;
        double r1507206 = atan2(r1507204, r1507205);
        double r1507207 = base;
        double r1507208 = log(r1507207);
        double r1507209 = r1507206 / r1507208;
        return r1507209;
}

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

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