\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -8.528127276764349062375093852629016219739 \cdot 10^{119}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(-2 \cdot \log \left(\frac{-1}{re}\right)\right) \cdot \frac{1}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le -4.371006412922919355426993155500752563146 \cdot 10^{-223}:\\
\;\;\;\;\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(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le -2.437299774034011283254659821557789091298 \cdot 10^{-288}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(2 \cdot \log im\right) \cdot \frac{1}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le 1.266521437225666892318788639170016686519 \cdot 10^{76}:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;\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{2 \cdot \log re}{\sqrt{\log 10}}\right)\\
\end{array}double f(double re, double im) {
double r29765 = re;
double r29766 = r29765 * r29765;
double r29767 = im;
double r29768 = r29767 * r29767;
double r29769 = r29766 + r29768;
double r29770 = sqrt(r29769);
double r29771 = log(r29770);
double r29772 = 10.0;
double r29773 = log(r29772);
double r29774 = r29771 / r29773;
return r29774;
}
double f(double re, double im) {
double r29775 = re;
double r29776 = -8.528127276764349e+119;
bool r29777 = r29775 <= r29776;
double r29778 = 0.5;
double r29779 = 10.0;
double r29780 = log(r29779);
double r29781 = sqrt(r29780);
double r29782 = r29778 / r29781;
double r29783 = -2.0;
double r29784 = -1.0;
double r29785 = r29784 / r29775;
double r29786 = log(r29785);
double r29787 = r29783 * r29786;
double r29788 = 1.0;
double r29789 = r29788 / r29781;
double r29790 = r29787 * r29789;
double r29791 = r29782 * r29790;
double r29792 = -4.371006412922919e-223;
bool r29793 = r29775 <= r29792;
double r29794 = cbrt(r29778);
double r29795 = r29794 * r29794;
double r29796 = sqrt(r29781);
double r29797 = r29795 / r29796;
double r29798 = r29794 / r29796;
double r29799 = r29775 * r29775;
double r29800 = im;
double r29801 = r29800 * r29800;
double r29802 = r29799 + r29801;
double r29803 = log(r29802);
double r29804 = r29803 / r29781;
double r29805 = r29798 * r29804;
double r29806 = r29797 * r29805;
double r29807 = -2.4372997740340113e-288;
bool r29808 = r29775 <= r29807;
double r29809 = 2.0;
double r29810 = log(r29800);
double r29811 = r29809 * r29810;
double r29812 = r29811 * r29789;
double r29813 = r29782 * r29812;
double r29814 = 1.2665214372256669e+76;
bool r29815 = r29775 <= r29814;
double r29816 = sqrt(r29782);
double r29817 = r29816 * r29804;
double r29818 = r29816 * r29817;
double r29819 = log(r29775);
double r29820 = r29809 * r29819;
double r29821 = r29820 / r29781;
double r29822 = r29798 * r29821;
double r29823 = r29797 * r29822;
double r29824 = r29815 ? r29818 : r29823;
double r29825 = r29808 ? r29813 : r29824;
double r29826 = r29793 ? r29806 : r29825;
double r29827 = r29777 ? r29791 : r29826;
return r29827;
}



Bits error versus re



Bits error versus im
Results
if re < -8.528127276764349e+119Initial program 56.2
rmApplied add-sqr-sqrt56.2
Applied pow1/256.2
Applied log-pow56.2
Applied times-frac56.2
rmApplied div-inv56.2
Taylor expanded around -inf 8.0
Simplified8.0
if -8.528127276764349e+119 < re < -4.371006412922919e-223Initial program 19.3
rmApplied add-sqr-sqrt19.3
Applied pow1/219.3
Applied log-pow19.3
Applied times-frac19.3
rmApplied add-sqr-sqrt19.3
Applied sqrt-prod19.8
Applied add-cube-cbrt19.3
Applied times-frac19.3
Applied associate-*l*19.2
if -4.371006412922919e-223 < re < -2.4372997740340113e-288Initial program 30.1
rmApplied add-sqr-sqrt30.1
Applied pow1/230.1
Applied log-pow30.1
Applied times-frac30.1
rmApplied div-inv30.0
Taylor expanded around 0 32.2
if -2.4372997740340113e-288 < re < 1.2665214372256669e+76Initial program 22.9
rmApplied add-sqr-sqrt22.9
Applied pow1/222.9
Applied log-pow22.9
Applied times-frac22.9
rmApplied add-sqr-sqrt22.9
Applied associate-*l*22.8
if 1.2665214372256669e+76 < re Initial program 48.3
rmApplied add-sqr-sqrt48.3
Applied pow1/248.3
Applied log-pow48.3
Applied times-frac48.2
rmApplied add-sqr-sqrt48.2
Applied sqrt-prod48.4
Applied add-cube-cbrt48.2
Applied times-frac48.2
Applied associate-*l*48.2
Taylor expanded around inf 10.5
Simplified10.5
Final simplification17.7
herbie shell --seed 2019347
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))