Average Error: 32.2 → 17.8
Time: 7.7s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -3.809146632081261456055697196886220676549 \cdot 10^{47}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(-1 \cdot re\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{elif}\;re \le -5.899676996224969797473356094348485392996 \cdot 10^{-185}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{elif}\;re \le 2.570866863735433156870358275922364395788 \cdot 10^{-296}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \mathbf{elif}\;re \le 4.016329389982055111864065718082072425242 \cdot 10^{133}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -3.809146632081261456055697196886220676549 \cdot 10^{47}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(-1 \cdot re\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\

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

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

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

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

\end{array}
double f(double re, double im) {
        double r66687 = re;
        double r66688 = r66687 * r66687;
        double r66689 = im;
        double r66690 = r66689 * r66689;
        double r66691 = r66688 + r66690;
        double r66692 = sqrt(r66691);
        double r66693 = log(r66692);
        double r66694 = 10.0;
        double r66695 = log(r66694);
        double r66696 = r66693 / r66695;
        return r66696;
}

double f(double re, double im) {
        double r66697 = re;
        double r66698 = -3.8091466320812615e+47;
        bool r66699 = r66697 <= r66698;
        double r66700 = 1.0;
        double r66701 = 10.0;
        double r66702 = log(r66701);
        double r66703 = sqrt(r66702);
        double r66704 = r66700 / r66703;
        double r66705 = -1.0;
        double r66706 = r66705 * r66697;
        double r66707 = pow(r66706, r66704);
        double r66708 = log(r66707);
        double r66709 = r66700 * r66708;
        double r66710 = r66704 * r66709;
        double r66711 = -5.89967699622497e-185;
        bool r66712 = r66697 <= r66711;
        double r66713 = r66697 * r66697;
        double r66714 = im;
        double r66715 = r66714 * r66714;
        double r66716 = r66713 + r66715;
        double r66717 = sqrt(r66716);
        double r66718 = pow(r66717, r66704);
        double r66719 = log(r66718);
        double r66720 = r66700 * r66719;
        double r66721 = r66704 * r66720;
        double r66722 = 2.570866863735433e-296;
        bool r66723 = r66697 <= r66722;
        double r66724 = log(r66714);
        double r66725 = r66700 / r66702;
        double r66726 = sqrt(r66725);
        double r66727 = r66724 * r66726;
        double r66728 = r66700 * r66727;
        double r66729 = r66704 * r66728;
        double r66730 = 4.016329389982055e+133;
        bool r66731 = r66697 <= r66730;
        double r66732 = log(r66697);
        double r66733 = r66732 * r66726;
        double r66734 = r66700 * r66733;
        double r66735 = r66704 * r66734;
        double r66736 = r66731 ? r66721 : r66735;
        double r66737 = r66723 ? r66729 : r66736;
        double r66738 = r66712 ? r66721 : r66737;
        double r66739 = r66699 ? r66710 : r66738;
        return r66739;
}

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 < -3.8091466320812615e+47

    1. Initial program 44.9

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

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

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

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

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity44.8

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

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

    if -3.8091466320812615e+47 < re < -5.89967699622497e-185 or 2.570866863735433e-296 < re < 4.016329389982055e+133

    1. Initial program 20.1

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

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

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

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

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

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

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

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

    if -5.89967699622497e-185 < re < 2.570866863735433e-296

    1. Initial program 31.6

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

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

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

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

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

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

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

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

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

    if 4.016329389982055e+133 < re

    1. Initial program 58.3

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

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

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

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

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)}\]
    10. Using strategy rm
    11. Applied *-un-lft-identity58.3

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -3.809146632081261456055697196886220676549 \cdot 10^{47}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(-1 \cdot re\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{elif}\;re \le -5.899676996224969797473356094348485392996 \cdot 10^{-185}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{elif}\;re \le 2.570866863735433156870358275922364395788 \cdot 10^{-296}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \mathbf{elif}\;re \le 4.016329389982055111864065718082072425242 \cdot 10^{133}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(1 \cdot \left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \end{array}\]

Reproduce

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