\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.10321569695692608 \cdot 10^{72}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{\log 10}}}{\frac{\sqrt{\log 10}}{\log \left(-1 \cdot re\right)}}\\
\mathbf{elif}\;re \le -1.3504253849915568 \cdot 10^{-194}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\\
\mathbf{elif}\;re \le -2.968956980813959 \cdot 10^{-266}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{\log 10}}}{\frac{\sqrt{\log 10}}{\log im}}\\
\mathbf{elif}\;re \le 1.13427855715340043 \cdot 10^{-228}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\\
\mathbf{elif}\;re \le 1.30573406095301773 \cdot 10^{-191}:\\
\;\;\;\;\frac{3}{\frac{\log 10}{\log \left(\sqrt[3]{im}\right)}}\\
\mathbf{elif}\;re \le 5.15621950091572796 \cdot 10^{39}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{\log 10}}}{\frac{\sqrt{\log 10}}{\log re}}\\
\end{array}double f(double re, double im) {
double r46760 = re;
double r46761 = r46760 * r46760;
double r46762 = im;
double r46763 = r46762 * r46762;
double r46764 = r46761 + r46763;
double r46765 = sqrt(r46764);
double r46766 = log(r46765);
double r46767 = 10.0;
double r46768 = log(r46767);
double r46769 = r46766 / r46768;
return r46769;
}
double f(double re, double im) {
double r46770 = re;
double r46771 = -1.103215696956926e+72;
bool r46772 = r46770 <= r46771;
double r46773 = 1.0;
double r46774 = 10.0;
double r46775 = log(r46774);
double r46776 = sqrt(r46775);
double r46777 = r46773 / r46776;
double r46778 = -1.0;
double r46779 = r46778 * r46770;
double r46780 = log(r46779);
double r46781 = r46776 / r46780;
double r46782 = r46777 / r46781;
double r46783 = -1.3504253849915568e-194;
bool r46784 = r46770 <= r46783;
double r46785 = r46770 * r46770;
double r46786 = im;
double r46787 = r46786 * r46786;
double r46788 = r46785 + r46787;
double r46789 = sqrt(r46788);
double r46790 = log(r46789);
double r46791 = r46777 * r46790;
double r46792 = r46777 * r46791;
double r46793 = -2.968956980813959e-266;
bool r46794 = r46770 <= r46793;
double r46795 = log(r46786);
double r46796 = r46776 / r46795;
double r46797 = r46777 / r46796;
double r46798 = 1.1342785571534004e-228;
bool r46799 = r46770 <= r46798;
double r46800 = 1.3057340609530177e-191;
bool r46801 = r46770 <= r46800;
double r46802 = 3.0;
double r46803 = cbrt(r46786);
double r46804 = log(r46803);
double r46805 = r46775 / r46804;
double r46806 = r46802 / r46805;
double r46807 = 5.156219500915728e+39;
bool r46808 = r46770 <= r46807;
double r46809 = log(r46770);
double r46810 = r46776 / r46809;
double r46811 = r46777 / r46810;
double r46812 = r46808 ? r46792 : r46811;
double r46813 = r46801 ? r46806 : r46812;
double r46814 = r46799 ? r46792 : r46813;
double r46815 = r46794 ? r46797 : r46814;
double r46816 = r46784 ? r46792 : r46815;
double r46817 = r46772 ? r46782 : r46816;
return r46817;
}



Bits error versus re



Bits error versus im
Results
if re < -1.103215696956926e+72Initial program 47.0
rmApplied add-cube-cbrt47.0
rmApplied pow347.0
Applied log-pow47.0
Applied associate-/l*47.0
rmApplied pow1/347.1
Applied log-pow47.0
Applied add-sqr-sqrt47.0
Applied times-frac47.2
Applied associate-/r*47.2
Simplified47.0
Taylor expanded around -inf 9.8
if -1.103215696956926e+72 < re < -1.3504253849915568e-194 or -2.968956980813959e-266 < re < 1.1342785571534004e-228 or 1.3057340609530177e-191 < re < 5.156219500915728e+39Initial program 21.5
rmApplied add-cube-cbrt21.5
rmApplied pow321.5
Applied log-pow21.5
Applied associate-/l*21.5
rmApplied pow1/321.7
Applied log-pow21.7
Applied add-sqr-sqrt21.7
Applied times-frac22.1
Applied associate-/r*22.0
Simplified21.5
rmApplied div-inv21.5
Applied pow121.5
Applied log-pow21.5
Applied sqrt-prod21.5
Applied add-sqr-sqrt21.5
Applied times-frac21.5
Applied times-frac21.4
Simplified21.4
Simplified21.4
if -1.3504253849915568e-194 < re < -2.968956980813959e-266Initial program 32.4
rmApplied add-cube-cbrt32.4
rmApplied pow332.4
Applied log-pow32.4
Applied associate-/l*32.4
rmApplied pow1/332.5
Applied log-pow32.5
Applied add-sqr-sqrt32.5
Applied times-frac32.8
Applied associate-/r*32.8
Simplified32.4
Taylor expanded around 0 35.6
if 1.1342785571534004e-228 < re < 1.3057340609530177e-191Initial program 33.0
rmApplied add-cube-cbrt33.0
rmApplied pow333.0
Applied log-pow33.0
Applied associate-/l*33.0
Taylor expanded around 0 33.9
if 5.156219500915728e+39 < re Initial program 44.1
rmApplied add-cube-cbrt44.0
rmApplied pow344.0
Applied log-pow44.1
Applied associate-/l*44.1
rmApplied pow1/344.2
Applied log-pow44.1
Applied add-sqr-sqrt44.1
Applied times-frac44.3
Applied associate-/r*44.3
Simplified44.0
Taylor expanded around inf 12.1
Final simplification18.4
herbie shell --seed 2020057
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))