Average Error: 30.8 → 18.0
Time: 20.2s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -1.2627952124883404 \cdot 10^{+147}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -7.44826331886994 \cdot 10^{-262}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\ \mathbf{elif}\;re \le 1.475790091087918 \cdot 10^{-158}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \left(\left(\sqrt{\frac{1}{2}} \cdot {\left(\frac{\frac{1}{\log 10}}{\log 10 \cdot \log 10}\right)}^{\frac{1}{4}}\right) \cdot \left(2 \cdot \log im\right)\right)\\ \mathbf{elif}\;re \le 6.756828864494474 \cdot 10^{+105}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \left(2 \cdot \log re\right)\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 -1.2627952124883404 \cdot 10^{+147}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\

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

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

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

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

\end{array}
double f(double re, double im) {
        double r1000840 = re;
        double r1000841 = r1000840 * r1000840;
        double r1000842 = im;
        double r1000843 = r1000842 * r1000842;
        double r1000844 = r1000841 + r1000843;
        double r1000845 = sqrt(r1000844);
        double r1000846 = log(r1000845);
        double r1000847 = 10.0;
        double r1000848 = log(r1000847);
        double r1000849 = r1000846 / r1000848;
        return r1000849;
}

double f(double re, double im) {
        double r1000850 = re;
        double r1000851 = -1.2627952124883404e+147;
        bool r1000852 = r1000850 <= r1000851;
        double r1000853 = 0.5;
        double r1000854 = 10.0;
        double r1000855 = log(r1000854);
        double r1000856 = sqrt(r1000855);
        double r1000857 = r1000853 / r1000856;
        double r1000858 = 1.0;
        double r1000859 = r1000858 / r1000855;
        double r1000860 = sqrt(r1000859);
        double r1000861 = -1.0;
        double r1000862 = r1000861 / r1000850;
        double r1000863 = log(r1000862);
        double r1000864 = r1000860 * r1000863;
        double r1000865 = -2.0;
        double r1000866 = r1000864 * r1000865;
        double r1000867 = r1000857 * r1000866;
        double r1000868 = -7.44826331886994e-262;
        bool r1000869 = r1000850 <= r1000868;
        double r1000870 = cbrt(r1000853);
        double r1000871 = cbrt(r1000855);
        double r1000872 = sqrt(r1000871);
        double r1000873 = r1000870 / r1000872;
        double r1000874 = r1000850 * r1000850;
        double r1000875 = im;
        double r1000876 = r1000875 * r1000875;
        double r1000877 = r1000874 + r1000876;
        double r1000878 = log(r1000877);
        double r1000879 = r1000878 / r1000856;
        double r1000880 = r1000873 * r1000879;
        double r1000881 = r1000870 * r1000870;
        double r1000882 = r1000871 * r1000871;
        double r1000883 = sqrt(r1000882);
        double r1000884 = r1000881 / r1000883;
        double r1000885 = r1000880 * r1000884;
        double r1000886 = 1.475790091087918e-158;
        bool r1000887 = r1000850 <= r1000886;
        double r1000888 = sqrt(r1000857);
        double r1000889 = sqrt(r1000853);
        double r1000890 = r1000855 * r1000855;
        double r1000891 = r1000859 / r1000890;
        double r1000892 = 0.25;
        double r1000893 = pow(r1000891, r1000892);
        double r1000894 = r1000889 * r1000893;
        double r1000895 = 2.0;
        double r1000896 = log(r1000875);
        double r1000897 = r1000895 * r1000896;
        double r1000898 = r1000894 * r1000897;
        double r1000899 = r1000888 * r1000898;
        double r1000900 = 6.756828864494474e+105;
        bool r1000901 = r1000850 <= r1000900;
        double r1000902 = log(r1000850);
        double r1000903 = r1000895 * r1000902;
        double r1000904 = r1000860 * r1000903;
        double r1000905 = r1000904 * r1000857;
        double r1000906 = r1000901 ? r1000885 : r1000905;
        double r1000907 = r1000887 ? r1000899 : r1000906;
        double r1000908 = r1000869 ? r1000885 : r1000907;
        double r1000909 = r1000852 ? r1000867 : r1000908;
        return r1000909;
}

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 4 regimes
  2. if re < -1.2627952124883404e+147

    1. Initial program 60.1

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt60.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/260.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-pow60.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-frac60.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 8.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)}\]

    if -1.2627952124883404e+147 < re < -7.44826331886994e-262 or 1.475790091087918e-158 < re < 6.756828864494474e+105

    1. Initial program 18.0

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt18.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/218.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-pow18.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-frac18.0

      \[\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-cube-cbrt18.6

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

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

      \[\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[3]{\log 10} \cdot \sqrt[3]{\log 10}} \cdot \sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\]
    11. Applied times-frac18.0

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

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

    if -7.44826331886994e-262 < re < 1.475790091087918e-158

    1. Initial program 30.1

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt30.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/230.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-pow30.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-frac30.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-sqr-sqrt30.1

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

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

      \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \color{blue}{\left(2 \cdot \left(\left(\log im \cdot \sqrt{\frac{1}{2}}\right) \cdot {\left(\frac{1}{{\left(\log 10\right)}^{3}}\right)}^{\frac{1}{4}}\right)\right)}\]
    11. Simplified34.9

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

    if 6.756828864494474e+105 < re

    1. Initial program 50.9

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

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

      \[\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-pow50.9

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

      \[\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. Simplified9.2

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -1.2627952124883404 \cdot 10^{+147}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -7.44826331886994 \cdot 10^{-262}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\ \mathbf{elif}\;re \le 1.475790091087918 \cdot 10^{-158}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}} \cdot \left(\left(\sqrt{\frac{1}{2}} \cdot {\left(\frac{\frac{1}{\log 10}}{\log 10 \cdot \log 10}\right)}^{\frac{1}{4}}\right) \cdot \left(2 \cdot \log im\right)\right)\\ \mathbf{elif}\;re \le 6.756828864494474 \cdot 10^{+105}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \left(2 \cdot \log re\right)\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

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