Average Error: 32.3 → 17.2
Time: 17.3s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -5.682619343593359335222412458502304029603 \cdot 10^{146}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \frac{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 7.589712011031017886500337601126258649721 \cdot 10^{130}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \frac{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(\log re \cdot 2\right)}{\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 -5.682619343593359335222412458502304029603 \cdot 10^{146}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \frac{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)}{\sqrt{\log 10}}\\

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

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

\end{array}
double f(double re, double im) {
        double r44014 = re;
        double r44015 = r44014 * r44014;
        double r44016 = im;
        double r44017 = r44016 * r44016;
        double r44018 = r44015 + r44017;
        double r44019 = sqrt(r44018);
        double r44020 = log(r44019);
        double r44021 = 10.0;
        double r44022 = log(r44021);
        double r44023 = r44020 / r44022;
        return r44023;
}

double f(double re, double im) {
        double r44024 = re;
        double r44025 = -5.682619343593359e+146;
        bool r44026 = r44024 <= r44025;
        double r44027 = 0.5;
        double r44028 = sqrt(r44027);
        double r44029 = 1.0;
        double r44030 = sqrt(r44029);
        double r44031 = r44028 / r44030;
        double r44032 = 10.0;
        double r44033 = log(r44032);
        double r44034 = sqrt(r44033);
        double r44035 = r44028 / r44034;
        double r44036 = 2.0;
        double r44037 = -1.0;
        double r44038 = r44037 / r44024;
        double r44039 = log(r44038);
        double r44040 = r44036 * r44039;
        double r44041 = -r44040;
        double r44042 = r44035 * r44041;
        double r44043 = r44042 / r44034;
        double r44044 = r44031 * r44043;
        double r44045 = 7.589712011031018e+130;
        bool r44046 = r44024 <= r44045;
        double r44047 = r44027 / r44034;
        double r44048 = r44024 * r44024;
        double r44049 = im;
        double r44050 = r44049 * r44049;
        double r44051 = r44048 + r44050;
        double r44052 = r44029 / r44034;
        double r44053 = pow(r44051, r44052);
        double r44054 = log(r44053);
        double r44055 = r44047 * r44054;
        double r44056 = log(r44024);
        double r44057 = r44056 * r44036;
        double r44058 = r44035 * r44057;
        double r44059 = r44058 / r44034;
        double r44060 = r44031 * r44059;
        double r44061 = r44046 ? r44055 : r44060;
        double r44062 = r44026 ? r44044 : r44061;
        return r44062;
}

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 < -5.682619343593359e+146

    1. Initial program 61.9

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt61.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/261.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-pow61.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-frac61.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-exp61.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. Simplified61.9

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

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

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

      \[\leadsto \frac{\frac{1}{2}}{\color{blue}{\sqrt{1} \cdot \sqrt{\log 10}}} \cdot \log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    14. Applied add-sqr-sqrt61.9

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

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

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

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

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

    if -5.682619343593359e+146 < re < 7.589712011031018e+130

    1. Initial program 21.3

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt21.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/221.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-pow21.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-frac21.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-exp21.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. Simplified21.1

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

    if 7.589712011031018e+130 < re

    1. Initial program 57.4

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

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

      \[\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-pow57.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}}\]
    6. Applied times-frac57.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}}}\]
    7. Using strategy rm
    8. Applied add-log-exp57.4

      \[\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. Simplified57.4

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -5.682619343593359335222412458502304029603 \cdot 10^{146}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \frac{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 7.589712011031017886500337601126258649721 \cdot 10^{130}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \frac{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(\log re \cdot 2\right)}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

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