Average Error: 32.2 → 0.3
Time: 6.7s
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}\]
\[-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(e^{\log \left({base}^{\frac{1}{3}}\right)}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
\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}
-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(e^{\log \left({base}^{\frac{1}{3}}\right)}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}
double f(double re, double im, double base) {
        double r52212 = im;
        double r52213 = re;
        double r52214 = atan2(r52212, r52213);
        double r52215 = base;
        double r52216 = log(r52215);
        double r52217 = r52214 * r52216;
        double r52218 = r52213 * r52213;
        double r52219 = r52212 * r52212;
        double r52220 = r52218 + r52219;
        double r52221 = sqrt(r52220);
        double r52222 = log(r52221);
        double r52223 = 0.0;
        double r52224 = r52222 * r52223;
        double r52225 = r52217 - r52224;
        double r52226 = r52216 * r52216;
        double r52227 = r52223 * r52223;
        double r52228 = r52226 + r52227;
        double r52229 = r52225 / r52228;
        return r52229;
}

double f(double re, double im, double base) {
        double r52230 = -1.0;
        double r52231 = im;
        double r52232 = re;
        double r52233 = atan2(r52231, r52232);
        double r52234 = 2.0;
        double r52235 = -r52234;
        double r52236 = base;
        double r52237 = 0.3333333333333333;
        double r52238 = pow(r52236, r52237);
        double r52239 = log(r52238);
        double r52240 = exp(r52239);
        double r52241 = log(r52240);
        double r52242 = r52235 * r52241;
        double r52243 = 1.0;
        double r52244 = cbrt(r52236);
        double r52245 = r52243 / r52244;
        double r52246 = log(r52245);
        double r52247 = r52242 + r52246;
        double r52248 = r52233 / r52247;
        double r52249 = r52230 * r52248;
        return r52249;
}

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 32.2

    \[\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. Taylor expanded around inf 0.3

    \[\leadsto \color{blue}{-1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{base}\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{1}{\color{blue}{\left(\sqrt[3]{base} \cdot \sqrt[3]{base}\right) \cdot \sqrt[3]{base}}}\right)}\]
  5. Applied add-cube-cbrt0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\log \left(\frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{\left(\sqrt[3]{base} \cdot \sqrt[3]{base}\right) \cdot \sqrt[3]{base}}\right)}\]
  6. Applied times-frac0.3

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

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

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

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(\sqrt[3]{base}\right) + \color{blue}{\log \left(\frac{1}{\sqrt[3]{base}}\right)}}\]
  10. Using strategy rm
  11. Applied add-exp-log0.4

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \color{blue}{\left(e^{\log \left(\sqrt[3]{base}\right)}\right)} + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  12. Simplified0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(e^{\color{blue}{\log \left({base}^{\frac{1}{3}}\right)}}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]
  13. Final simplification0.3

    \[\leadsto -1 \cdot \frac{\tan^{-1}_* \frac{im}{re}}{\left(-2\right) \cdot \log \left(e^{\log \left({base}^{\frac{1}{3}}\right)}\right) + \log \left(\frac{1}{\sqrt[3]{base}}\right)}\]

Reproduce

herbie shell --seed 2020002 
(FPCore (re im base)
  :name "math.log/2 on complex, imaginary part"
  :precision binary64
  (/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))