\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.2183670066001296 \cdot 10^{+58}:\\
\;\;\;\;\log \left({\left({\left(-re\right)}^{\left(\sqrt{\frac{1}{\log 10}}\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{elif}\;re \le 1.0476517714411159 \cdot 10^{+58}:\\
\;\;\;\;\log \left({\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)} \cdot {\left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left({\left(e^{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right)}^{\left(2 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right)\right)}\right)\\
\end{array}double f(double re, double im) {
double r3114938 = re;
double r3114939 = r3114938 * r3114938;
double r3114940 = im;
double r3114941 = r3114940 * r3114940;
double r3114942 = r3114939 + r3114941;
double r3114943 = sqrt(r3114942);
double r3114944 = log(r3114943);
double r3114945 = 10.0;
double r3114946 = log(r3114945);
double r3114947 = r3114944 / r3114946;
return r3114947;
}
double f(double re, double im) {
double r3114948 = re;
double r3114949 = -1.2183670066001296e+58;
bool r3114950 = r3114948 <= r3114949;
double r3114951 = -r3114948;
double r3114952 = 1.0;
double r3114953 = 10.0;
double r3114954 = log(r3114953);
double r3114955 = r3114952 / r3114954;
double r3114956 = sqrt(r3114955);
double r3114957 = pow(r3114951, r3114956);
double r3114958 = sqrt(r3114954);
double r3114959 = r3114952 / r3114958;
double r3114960 = pow(r3114957, r3114959);
double r3114961 = log(r3114960);
double r3114962 = 1.0476517714411159e+58;
bool r3114963 = r3114948 <= r3114962;
double r3114964 = 0.5;
double r3114965 = r3114964 / r3114958;
double r3114966 = exp(r3114965);
double r3114967 = r3114948 * r3114948;
double r3114968 = im;
double r3114969 = r3114968 * r3114968;
double r3114970 = r3114967 + r3114969;
double r3114971 = cbrt(r3114970);
double r3114972 = log(r3114971);
double r3114973 = pow(r3114966, r3114972);
double r3114974 = pow(r3114973, r3114959);
double r3114975 = r3114971 * r3114971;
double r3114976 = log(r3114975);
double r3114977 = pow(r3114966, r3114976);
double r3114978 = pow(r3114977, r3114959);
double r3114979 = r3114974 * r3114978;
double r3114980 = log(r3114979);
double r3114981 = 2.0;
double r3114982 = log(r3114948);
double r3114983 = r3114956 * r3114982;
double r3114984 = r3114981 * r3114983;
double r3114985 = pow(r3114966, r3114984);
double r3114986 = log(r3114985);
double r3114987 = r3114963 ? r3114980 : r3114986;
double r3114988 = r3114950 ? r3114961 : r3114987;
return r3114988;
}



Bits error versus re



Bits error versus im
Results
if re < -1.2183670066001296e+58Initial program 43.7
rmApplied add-log-exp43.7
rmApplied add-sqr-sqrt43.7
Applied pow143.7
Applied sqrt-pow143.7
Applied log-pow43.7
Applied times-frac43.6
Applied exp-prod43.6
Simplified43.6
rmApplied div-inv43.6
Applied pow-unpow43.6
Taylor expanded around -inf 11.6
Simplified11.4
if -1.2183670066001296e+58 < re < 1.0476517714411159e+58Initial program 22.4
rmApplied add-log-exp22.4
rmApplied add-sqr-sqrt22.4
Applied pow122.4
Applied sqrt-pow122.4
Applied log-pow22.4
Applied times-frac22.4
Applied exp-prod22.3
Simplified22.3
rmApplied div-inv22.3
Applied pow-unpow22.2
rmApplied add-cube-cbrt22.2
Applied log-prod22.3
Applied unpow-prod-up22.2
Applied unpow-prod-down22.2
if 1.0476517714411159e+58 < re Initial program 44.0
rmApplied add-log-exp44.0
rmApplied add-sqr-sqrt44.0
Applied pow144.0
Applied sqrt-pow144.0
Applied log-pow44.0
Applied times-frac44.0
Applied exp-prod44.0
Simplified44.0
Taylor expanded around inf 11.9
Simplified11.9
Final simplification17.9
herbie shell --seed 2019124
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))