Average Error: 31.8 → 0.3
Time: 4.3s
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 r26134 = im;
        double r26135 = re;
        double r26136 = atan2(r26134, r26135);
        double r26137 = base;
        double r26138 = log(r26137);
        double r26139 = r26136 * r26138;
        double r26140 = r26135 * r26135;
        double r26141 = r26134 * r26134;
        double r26142 = r26140 + r26141;
        double r26143 = sqrt(r26142);
        double r26144 = log(r26143);
        double r26145 = 0.0;
        double r26146 = r26144 * r26145;
        double r26147 = r26139 - r26146;
        double r26148 = r26138 * r26138;
        double r26149 = r26145 * r26145;
        double r26150 = r26148 + r26149;
        double r26151 = r26147 / r26150;
        return r26151;
}

double f(double re, double im, double base) {
        double r26152 = im;
        double r26153 = re;
        double r26154 = atan2(r26152, r26153);
        double r26155 = base;
        double r26156 = log(r26155);
        double r26157 = r26154 / r26156;
        return r26157;
}

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

    \[\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 0 0.3

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

    \[\leadsto \color{blue}{\frac{1}{\frac{\log base}{\tan^{-1}_* \frac{im}{re}}}}\]
  5. Using strategy rm
  6. Applied div-inv0.5

    \[\leadsto \frac{1}{\color{blue}{\log base \cdot \frac{1}{\tan^{-1}_* \frac{im}{re}}}}\]
  7. Applied add-cube-cbrt0.5

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

    \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\log base} \cdot \frac{\sqrt[3]{1}}{\frac{1}{\tan^{-1}_* \frac{im}{re}}}}\]
  9. Simplified0.5

    \[\leadsto \color{blue}{\frac{1}{\log base}} \cdot \frac{\sqrt[3]{1}}{\frac{1}{\tan^{-1}_* \frac{im}{re}}}\]
  10. Simplified0.4

    \[\leadsto \frac{1}{\log base} \cdot \color{blue}{\tan^{-1}_* \frac{im}{re}}\]
  11. Using strategy rm
  12. Applied pow10.4

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

    \[\leadsto \color{blue}{{\left(\frac{1}{\log base}\right)}^{1}} \cdot {\left(\tan^{-1}_* \frac{im}{re}\right)}^{1}\]
  14. Applied pow-prod-down0.4

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

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

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

Reproduce

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