\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -2.592454453561355323767441020562203333728 \cdot 10^{93}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\
\mathbf{elif}\;re \le -4.442710243000143378316854346880030721988 \cdot 10^{-260}:\\
\;\;\;\;\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{elif}\;re \le 7.226232238944436485147535554340264812994 \cdot 10^{-227}:\\
\;\;\;\;\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 im}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le 8.439330033545885045213726212950052594665 \cdot 10^{67}:\\
\;\;\;\;\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[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 re \cdot 2}{\sqrt{\log 10}}\right)\\
\end{array}double f(double re, double im) {
double r101950 = re;
double r101951 = r101950 * r101950;
double r101952 = im;
double r101953 = r101952 * r101952;
double r101954 = r101951 + r101953;
double r101955 = sqrt(r101954);
double r101956 = log(r101955);
double r101957 = 10.0;
double r101958 = log(r101957);
double r101959 = r101956 / r101958;
return r101959;
}
double f(double re, double im) {
double r101960 = re;
double r101961 = -2.5924544535613553e+93;
bool r101962 = r101960 <= r101961;
double r101963 = 0.5;
double r101964 = 10.0;
double r101965 = log(r101964);
double r101966 = sqrt(r101965);
double r101967 = r101963 / r101966;
double r101968 = -2.0;
double r101969 = -1.0;
double r101970 = r101969 / r101960;
double r101971 = log(r101970);
double r101972 = 1.0;
double r101973 = r101972 / r101965;
double r101974 = sqrt(r101973);
double r101975 = r101971 * r101974;
double r101976 = r101968 * r101975;
double r101977 = r101967 * r101976;
double r101978 = -4.4427102430001434e-260;
bool r101979 = r101960 <= r101978;
double r101980 = r101960 * r101960;
double r101981 = im;
double r101982 = r101981 * r101981;
double r101983 = r101980 + r101982;
double r101984 = r101972 / r101966;
double r101985 = pow(r101983, r101984);
double r101986 = log(r101985);
double r101987 = r101967 * r101986;
double r101988 = 7.2262322389444365e-227;
bool r101989 = r101960 <= r101988;
double r101990 = cbrt(r101963);
double r101991 = r101990 * r101990;
double r101992 = sqrt(r101966);
double r101993 = r101991 / r101992;
double r101994 = r101990 / r101992;
double r101995 = 2.0;
double r101996 = log(r101981);
double r101997 = r101995 * r101996;
double r101998 = r101997 / r101966;
double r101999 = r101994 * r101998;
double r102000 = r101993 * r101999;
double r102001 = 8.439330033545885e+67;
bool r102002 = r101960 <= r102001;
double r102003 = log(r101960);
double r102004 = r102003 * r101995;
double r102005 = r102004 / r101966;
double r102006 = r101994 * r102005;
double r102007 = r101993 * r102006;
double r102008 = r102002 ? r101987 : r102007;
double r102009 = r101989 ? r102000 : r102008;
double r102010 = r101979 ? r101987 : r102009;
double r102011 = r101962 ? r101977 : r102010;
return r102011;
}



Bits error versus re



Bits error versus im
Results
if re < -2.5924544535613553e+93Initial program 49.6
rmApplied add-sqr-sqrt49.6
Applied pow1/249.6
Applied log-pow49.6
Applied times-frac49.6
Taylor expanded around -inf 10.1
if -2.5924544535613553e+93 < re < -4.4427102430001434e-260 or 7.2262322389444365e-227 < re < 8.439330033545885e+67Initial program 19.5
rmApplied add-sqr-sqrt19.5
Applied pow1/219.5
Applied log-pow19.5
Applied times-frac19.5
rmApplied add-log-exp19.5
Simplified19.3
if -4.4427102430001434e-260 < re < 7.2262322389444365e-227Initial program 31.1
rmApplied add-sqr-sqrt31.1
Applied pow1/231.1
Applied log-pow31.1
Applied times-frac31.1
rmApplied add-sqr-sqrt31.1
Applied sqrt-prod31.5
Applied add-cube-cbrt31.1
Applied times-frac31.1
Applied associate-*l*31.1
Taylor expanded around 0 32.9
if 8.439330033545885e+67 < re Initial program 46.9
rmApplied add-sqr-sqrt46.9
Applied pow1/246.9
Applied log-pow46.9
Applied times-frac46.9
rmApplied add-sqr-sqrt46.9
Applied sqrt-prod47.1
Applied add-cube-cbrt46.9
Applied times-frac46.9
Applied associate-*l*46.9
Taylor expanded around inf 10.6
Simplified10.6
Final simplification17.4
herbie shell --seed 2020001
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))