Average Error: 31.9 → 17.9
Time: 15.8s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -4.542162861981963339451786530680392909626 \cdot 10^{56}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot -2\right)\right)\\ \mathbf{elif}\;re \le 5.06244624490984940405170994740450552862 \cdot 10^{-287}:\\ \;\;\;\;\log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 5.264208104179283547008627606577248738155 \cdot 10^{-185}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot -2\right) \cdot \log \left(\frac{-1}{im}\right)\right)\\ \mathbf{elif}\;re \le 5.789399298499139210623335916353519526215 \cdot 10^{51}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \frac{\log \left(im \cdot im + {re}^{2}\right)}{\sqrt{\log 10}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(2 \cdot \log re\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\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 -4.542162861981963339451786530680392909626 \cdot 10^{56}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot -2\right)\right)\\

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

\mathbf{elif}\;re \le 5.264208104179283547008627606577248738155 \cdot 10^{-185}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot -2\right) \cdot \log \left(\frac{-1}{im}\right)\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r36807 = re;
        double r36808 = r36807 * r36807;
        double r36809 = im;
        double r36810 = r36809 * r36809;
        double r36811 = r36808 + r36810;
        double r36812 = sqrt(r36811);
        double r36813 = log(r36812);
        double r36814 = 10.0;
        double r36815 = log(r36814);
        double r36816 = r36813 / r36815;
        return r36816;
}

double f(double re, double im) {
        double r36817 = re;
        double r36818 = -4.542162861981963e+56;
        bool r36819 = r36817 <= r36818;
        double r36820 = 0.5;
        double r36821 = 10.0;
        double r36822 = log(r36821);
        double r36823 = sqrt(r36822);
        double r36824 = r36820 / r36823;
        double r36825 = -1.0;
        double r36826 = r36825 / r36817;
        double r36827 = log(r36826);
        double r36828 = 1.0;
        double r36829 = r36828 / r36822;
        double r36830 = sqrt(r36829);
        double r36831 = -2.0;
        double r36832 = r36830 * r36831;
        double r36833 = r36827 * r36832;
        double r36834 = r36824 * r36833;
        double r36835 = 5.0624462449098494e-287;
        bool r36836 = r36817 <= r36835;
        double r36837 = r36817 * r36817;
        double r36838 = im;
        double r36839 = r36838 * r36838;
        double r36840 = r36837 + r36839;
        double r36841 = r36828 / r36823;
        double r36842 = pow(r36840, r36841);
        double r36843 = log(r36842);
        double r36844 = r36843 * r36824;
        double r36845 = 5.2642081041792835e-185;
        bool r36846 = r36817 <= r36845;
        double r36847 = r36825 / r36838;
        double r36848 = log(r36847);
        double r36849 = r36832 * r36848;
        double r36850 = r36824 * r36849;
        double r36851 = 5.789399298499139e+51;
        bool r36852 = r36817 <= r36851;
        double r36853 = cbrt(r36820);
        double r36854 = r36853 * r36853;
        double r36855 = sqrt(r36823);
        double r36856 = r36854 / r36855;
        double r36857 = r36853 / r36855;
        double r36858 = 2.0;
        double r36859 = pow(r36817, r36858);
        double r36860 = r36839 + r36859;
        double r36861 = log(r36860);
        double r36862 = r36861 / r36823;
        double r36863 = r36857 * r36862;
        double r36864 = r36856 * r36863;
        double r36865 = log(r36817);
        double r36866 = r36858 * r36865;
        double r36867 = r36866 * r36830;
        double r36868 = r36867 * r36824;
        double r36869 = r36852 ? r36864 : r36868;
        double r36870 = r36846 ? r36850 : r36869;
        double r36871 = r36836 ? r36844 : r36870;
        double r36872 = r36819 ? r36834 : r36871;
        return r36872;
}

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 5 regimes
  2. if re < -4.542162861981963e+56

    1. Initial program 46.1

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    6. Applied times-frac46.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}}}\]
    7. Taylor expanded around -inf 11.0

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

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

    if -4.542162861981963e+56 < re < 5.0624462449098494e-287

    1. Initial program 23.1

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

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

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

      \[\leadsto \frac{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    6. Applied times-frac23.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}}}\]
    7. Using strategy rm
    8. Applied add-log-exp23.1

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

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

    if 5.0624462449098494e-287 < re < 5.2642081041792835e-185

    1. Initial program 31.0

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

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

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

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

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

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

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

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(-2 \cdot \left(\log \left(\frac{-1}{im}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)}\]
    11. Simplified33.6

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

    if 5.2642081041792835e-185 < re < 5.789399298499139e+51

    1. Initial program 17.3

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 5.789399298499139e+51 < re

    1. Initial program 45.2

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

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

      \[\leadsto \frac{\log \color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{\frac{1}{2}}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied log-pow45.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}}\]
    6. Applied times-frac45.2

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -4.542162861981963339451786530680392909626 \cdot 10^{56}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot -2\right)\right)\\ \mathbf{elif}\;re \le 5.06244624490984940405170994740450552862 \cdot 10^{-287}:\\ \;\;\;\;\log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 5.264208104179283547008627606577248738155 \cdot 10^{-185}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot -2\right) \cdot \log \left(\frac{-1}{im}\right)\right)\\ \mathbf{elif}\;re \le 5.789399298499139210623335916353519526215 \cdot 10^{51}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \frac{\log \left(im \cdot im + {re}^{2}\right)}{\sqrt{\log 10}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(2 \cdot \log re\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

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