Average Error: 31.1 → 17.9
Time: 52.0s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -1.2183670066001296 \cdot 10^{+58}:\\ \;\;\;\;\log \left({\left({\left(-re\right)}^{\left(\sqrt{\frac{1}{\log 10}}\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{elif}\;re \le 1.0476517714411159 \cdot 10^{+58}:\\ \;\;\;\;\log \left({\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)} \cdot {\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\log \left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(2 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right)\right)}\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -1.2183670066001296 \cdot 10^{+58}:\\
\;\;\;\;\log \left({\left({\left(-re\right)}^{\left(\sqrt{\frac{1}{\log 10}}\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r3114938 = re;
        double r3114939 = r3114938 * r3114938;
        double r3114940 = im;
        double r3114941 = r3114940 * r3114940;
        double r3114942 = r3114939 + r3114941;
        double r3114943 = sqrt(r3114942);
        double r3114944 = log(r3114943);
        double r3114945 = 10.0;
        double r3114946 = log(r3114945);
        double r3114947 = r3114944 / r3114946;
        return r3114947;
}

double f(double re, double im) {
        double r3114948 = re;
        double r3114949 = -1.2183670066001296e+58;
        bool r3114950 = r3114948 <= r3114949;
        double r3114951 = -r3114948;
        double r3114952 = 1.0;
        double r3114953 = 10.0;
        double r3114954 = log(r3114953);
        double r3114955 = r3114952 / r3114954;
        double r3114956 = sqrt(r3114955);
        double r3114957 = pow(r3114951, r3114956);
        double r3114958 = sqrt(r3114954);
        double r3114959 = r3114952 / r3114958;
        double r3114960 = pow(r3114957, r3114959);
        double r3114961 = log(r3114960);
        double r3114962 = 1.0476517714411159e+58;
        bool r3114963 = r3114948 <= r3114962;
        double r3114964 = 0.5;
        double r3114965 = r3114964 / r3114958;
        double r3114966 = exp(r3114965);
        double r3114967 = r3114948 * r3114948;
        double r3114968 = im;
        double r3114969 = r3114968 * r3114968;
        double r3114970 = r3114967 + r3114969;
        double r3114971 = cbrt(r3114970);
        double r3114972 = log(r3114971);
        double r3114973 = pow(r3114966, r3114972);
        double r3114974 = pow(r3114973, r3114959);
        double r3114975 = r3114971 * r3114971;
        double r3114976 = log(r3114975);
        double r3114977 = pow(r3114966, r3114976);
        double r3114978 = pow(r3114977, r3114959);
        double r3114979 = r3114974 * r3114978;
        double r3114980 = log(r3114979);
        double r3114981 = 2.0;
        double r3114982 = log(r3114948);
        double r3114983 = r3114956 * r3114982;
        double r3114984 = r3114981 * r3114983;
        double r3114985 = pow(r3114966, r3114984);
        double r3114986 = log(r3114985);
        double r3114987 = r3114963 ? r3114980 : r3114986;
        double r3114988 = r3114950 ? r3114961 : r3114987;
        return r3114988;
}

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.2183670066001296e+58

    1. Initial program 43.7

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

      \[\leadsto \color{blue}{\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}}\right)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt43.7

      \[\leadsto \log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}}\right)\]
    6. Applied pow143.7

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

      \[\leadsto \log \left(e^{\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}}}\right)\]
    8. Applied log-pow43.7

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

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

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

      \[\leadsto \log \left({\color{blue}{\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}}^{\left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)}\right)\]
    12. Using strategy rm
    13. Applied div-inv43.6

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

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

      \[\leadsto \log \left({\color{blue}{\left(e^{-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)}\right)}}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    16. Simplified11.4

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

    if -1.2183670066001296e+58 < re < 1.0476517714411159e+58

    1. Initial program 22.4

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

      \[\leadsto \color{blue}{\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}}\right)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt22.4

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

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

      \[\leadsto \log \left(e^{\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}}}\right)\]
    8. Applied log-pow22.4

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

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

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

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

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

      \[\leadsto \log \color{blue}{\left({\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(re \cdot re + im \cdot im\right)\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)}\]
    15. Using strategy rm
    16. Applied add-cube-cbrt22.2

      \[\leadsto \log \left({\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\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)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    17. Applied log-prod22.3

      \[\leadsto \log \left({\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\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)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    18. Applied unpow-prod-up22.2

      \[\leadsto \log \left({\color{blue}{\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)\right)} \cdot {\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)}}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    19. Applied unpow-prod-down22.2

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

    if 1.0476517714411159e+58 < re

    1. Initial program 44.0

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

      \[\leadsto \color{blue}{\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}}\right)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt44.0

      \[\leadsto \log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}}\right)\]
    6. Applied pow144.0

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

      \[\leadsto \log \left(e^{\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}}}\right)\]
    8. Applied log-pow44.0

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

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

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

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

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

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

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

Reproduce

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