Average Error: 32.1 → 17.9
Time: 20.5s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -1.156407601863717509012505141513837828653 \cdot 10^{112}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\frac{\sqrt[3]{\log 10}}{-2 \cdot \log \left(\frac{-1}{re}\right)}}\\ \mathbf{elif}\;re \le 1.244988213884062755522549209945596691708 \cdot 10^{138}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\log 10 \cdot \frac{\frac{1}{\log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\frac{1}{2}}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\frac{\log 10}{\sqrt{\frac{1}{2}} \cdot \left(\log re \cdot 2\right)}}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -1.156407601863717509012505141513837828653 \cdot 10^{112}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\frac{\sqrt[3]{\log 10}}{-2 \cdot \log \left(\frac{-1}{re}\right)}}\\

\mathbf{elif}\;re \le 1.244988213884062755522549209945596691708 \cdot 10^{138}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\log 10 \cdot \frac{\frac{1}{\log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\frac{1}{2}}}}\\

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

\end{array}
double f(double re, double im) {
        double r29894 = re;
        double r29895 = r29894 * r29894;
        double r29896 = im;
        double r29897 = r29896 * r29896;
        double r29898 = r29895 + r29897;
        double r29899 = sqrt(r29898);
        double r29900 = log(r29899);
        double r29901 = 10.0;
        double r29902 = log(r29901);
        double r29903 = r29900 / r29902;
        return r29903;
}

double f(double re, double im) {
        double r29904 = re;
        double r29905 = -1.1564076018637175e+112;
        bool r29906 = r29904 <= r29905;
        double r29907 = 0.5;
        double r29908 = cbrt(r29907);
        double r29909 = r29908 * r29908;
        double r29910 = 10.0;
        double r29911 = log(r29910);
        double r29912 = cbrt(r29911);
        double r29913 = r29912 * r29912;
        double r29914 = r29909 / r29913;
        double r29915 = -2.0;
        double r29916 = -1.0;
        double r29917 = r29916 / r29904;
        double r29918 = log(r29917);
        double r29919 = r29915 * r29918;
        double r29920 = r29912 / r29919;
        double r29921 = r29908 / r29920;
        double r29922 = r29914 * r29921;
        double r29923 = 1.2449882138840628e+138;
        bool r29924 = r29904 <= r29923;
        double r29925 = sqrt(r29907);
        double r29926 = 1.0;
        double r29927 = r29904 * r29904;
        double r29928 = im;
        double r29929 = r29928 * r29928;
        double r29930 = r29927 + r29929;
        double r29931 = log(r29930);
        double r29932 = r29926 / r29931;
        double r29933 = r29932 / r29925;
        double r29934 = r29911 * r29933;
        double r29935 = r29925 / r29934;
        double r29936 = log(r29904);
        double r29937 = 2.0;
        double r29938 = r29936 * r29937;
        double r29939 = r29925 * r29938;
        double r29940 = r29911 / r29939;
        double r29941 = r29925 / r29940;
        double r29942 = r29924 ? r29935 : r29941;
        double r29943 = r29906 ? r29922 : r29942;
        return r29943;
}

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 < -1.1564076018637175e+112

    1. Initial program 52.8

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\log 10}\]
    6. Applied associate-/l*52.8

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\frac{\log 10}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Using strategy rm
    8. Applied pow152.8

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

      \[\leadsto \frac{\frac{1}{2}}{\frac{\log 10}{\color{blue}{1 \cdot \log \left(re \cdot re + im \cdot im\right)}}}\]
    10. Applied add-cube-cbrt53.0

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

      \[\leadsto \frac{\frac{1}{2}}{\color{blue}{\frac{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}{1} \cdot \frac{\sqrt[3]{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    12. Applied add-cube-cbrt52.8

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

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

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

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

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

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

    if -1.1564076018637175e+112 < re < 1.2449882138840628e+138

    1. Initial program 22.1

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\log 10}\]
    6. Applied associate-/l*22.1

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\frac{\log 10}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt22.2

      \[\leadsto \frac{\color{blue}{\sqrt{\frac{1}{2}} \cdot \sqrt{\frac{1}{2}}}}{\frac{\log 10}{\log \left(re \cdot re + im \cdot im\right)}}\]
    9. Applied associate-/l*22.0

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

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

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

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

    if 1.2449882138840628e+138 < re

    1. Initial program 58.8

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\log 10}\]
    6. Applied associate-/l*58.8

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\frac{\log 10}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt58.8

      \[\leadsto \frac{\color{blue}{\sqrt{\frac{1}{2}} \cdot \sqrt{\frac{1}{2}}}}{\frac{\log 10}{\log \left(re \cdot re + im \cdot im\right)}}\]
    9. Applied associate-/l*58.8

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

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

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

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

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

Reproduce

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