Average Error: 30.9 → 17.3
Time: 33.1s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -2.327249381423175 \cdot 10^{+109}:\\ \;\;\;\;\left(\left(\log \left(\frac{-1}{re}\right) \cdot -2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 2.515107223737886 \cdot 10^{+123}:\\ \;\;\;\;\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\sqrt[3]{im \cdot im + re \cdot re} \cdot \sqrt[3]{im \cdot im + re \cdot re}\right) + \log \left(\sqrt[3]{im \cdot im + re \cdot re}\right)\right)\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -2.327249381423175 \cdot 10^{+109}:\\
\;\;\;\;\left(\left(\log \left(\frac{-1}{re}\right) \cdot -2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\right) \cdot \frac{1}{\sqrt{\log 10}}\\

\mathbf{elif}\;re \le 2.515107223737886 \cdot 10^{+123}:\\
\;\;\;\;\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\sqrt[3]{im \cdot im + re \cdot re} \cdot \sqrt[3]{im \cdot im + re \cdot re}\right) + \log \left(\sqrt[3]{im \cdot im + re \cdot re}\right)\right)\right) \cdot \frac{1}{\sqrt{\log 10}}\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right) \cdot \frac{1}{\sqrt{\log 10}}\\

\end{array}
double f(double re, double im) {
        double r1157695 = re;
        double r1157696 = r1157695 * r1157695;
        double r1157697 = im;
        double r1157698 = r1157697 * r1157697;
        double r1157699 = r1157696 + r1157698;
        double r1157700 = sqrt(r1157699);
        double r1157701 = log(r1157700);
        double r1157702 = 10.0;
        double r1157703 = log(r1157702);
        double r1157704 = r1157701 / r1157703;
        return r1157704;
}

double f(double re, double im) {
        double r1157705 = re;
        double r1157706 = -2.327249381423175e+109;
        bool r1157707 = r1157705 <= r1157706;
        double r1157708 = -1.0;
        double r1157709 = r1157708 / r1157705;
        double r1157710 = log(r1157709);
        double r1157711 = -2.0;
        double r1157712 = r1157710 * r1157711;
        double r1157713 = 0.5;
        double r1157714 = 10.0;
        double r1157715 = log(r1157714);
        double r1157716 = sqrt(r1157715);
        double r1157717 = r1157713 / r1157716;
        double r1157718 = r1157712 * r1157717;
        double r1157719 = 1.0;
        double r1157720 = r1157719 / r1157716;
        double r1157721 = r1157718 * r1157720;
        double r1157722 = 2.515107223737886e+123;
        bool r1157723 = r1157705 <= r1157722;
        double r1157724 = im;
        double r1157725 = r1157724 * r1157724;
        double r1157726 = r1157705 * r1157705;
        double r1157727 = r1157725 + r1157726;
        double r1157728 = cbrt(r1157727);
        double r1157729 = r1157728 * r1157728;
        double r1157730 = log(r1157729);
        double r1157731 = log(r1157728);
        double r1157732 = r1157730 + r1157731;
        double r1157733 = r1157717 * r1157732;
        double r1157734 = r1157733 * r1157720;
        double r1157735 = r1157719 / r1157715;
        double r1157736 = sqrt(r1157735);
        double r1157737 = log(r1157705);
        double r1157738 = r1157736 * r1157737;
        double r1157739 = r1157738 * r1157720;
        double r1157740 = r1157723 ? r1157734 : r1157739;
        double r1157741 = r1157707 ? r1157721 : r1157740;
        return r1157741;
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if re < -2.327249381423175e+109

    1. Initial program 51.8

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt51.8

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow151.8

      \[\leadsto \frac{\log \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}}\right)}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied sqrt-pow151.8

      \[\leadsto \frac{\log \color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{2}\right)}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    6. Applied log-pow51.8

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    7. Applied times-frac51.8

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}}\]
    8. Simplified51.8

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\]
    9. Using strategy rm
    10. Applied div-inv51.8

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    11. Applied associate-*r*51.8

      \[\leadsto \color{blue}{\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right) \cdot \frac{1}{\sqrt{\log 10}}}\]
    12. Taylor expanded around -inf 9.1

      \[\leadsto \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
    13. Simplified9.1

      \[\leadsto \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]

    if -2.327249381423175e+109 < re < 2.515107223737886e+123

    1. Initial program 21.2

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt21.2

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow121.2

      \[\leadsto \frac{\log \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}}\right)}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied sqrt-pow121.2

      \[\leadsto \frac{\log \color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{2}\right)}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    6. Applied log-pow21.2

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    7. Applied times-frac21.1

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}}\]
    8. Simplified21.1

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\]
    9. Using strategy rm
    10. Applied div-inv21.0

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    11. Applied associate-*r*21.0

      \[\leadsto \color{blue}{\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right) \cdot \frac{1}{\sqrt{\log 10}}}\]
    12. Using strategy rm
    13. Applied add-cube-cbrt21.0

      \[\leadsto \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \color{blue}{\left(\left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
    14. Applied log-prod21.1

      \[\leadsto \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) + \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]

    if 2.515107223737886e+123 < re

    1. Initial program 53.4

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt53.4

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow153.4

      \[\leadsto \frac{\log \left(\sqrt{\color{blue}{{\left(re \cdot re + im \cdot im\right)}^{1}}}\right)}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied sqrt-pow153.4

      \[\leadsto \frac{\log \color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{2}\right)}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    6. Applied log-pow53.4

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    7. Applied times-frac53.4

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}}\]
    8. Simplified53.4

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\]
    9. Using strategy rm
    10. Applied div-inv53.4

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    11. Applied associate-*r*53.4

      \[\leadsto \color{blue}{\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right) \cdot \frac{1}{\sqrt{\log 10}}}\]
    12. Taylor expanded around inf 8.8

      \[\leadsto \color{blue}{\left(-1 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{1}{re}\right)\right)\right)} \cdot \frac{1}{\sqrt{\log 10}}\]
    13. Simplified8.8

      \[\leadsto \color{blue}{\left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right)} \cdot \frac{1}{\sqrt{\log 10}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification17.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -2.327249381423175 \cdot 10^{+109}:\\ \;\;\;\;\left(\left(\log \left(\frac{-1}{re}\right) \cdot -2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 2.515107223737886 \cdot 10^{+123}:\\ \;\;\;\;\left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\sqrt[3]{im \cdot im + re \cdot re} \cdot \sqrt[3]{im \cdot im + re \cdot re}\right) + \log \left(\sqrt[3]{im \cdot im + re \cdot re}\right)\right)\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019149 
(FPCore (re im)
  :name "math.log10 on complex, real part"
  (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))