\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -5.1853738157433311 \cdot 10^{115}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{-1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\
\mathbf{elif}\;re \le -3.2322001606130373 \cdot 10^{-152}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\left(\sqrt[3]{\sqrt{re \cdot re + im \cdot im}} \cdot \sqrt[3]{\sqrt{re \cdot re + im \cdot im}}\right) \cdot \sqrt[3]{\sqrt{re \cdot re + im \cdot im}}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{elif}\;re \le 8.122635248744386 \cdot 10^{-238}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({im}^{\left(\sqrt{\frac{1}{\log 10}}\right)}\right)\\
\mathbf{elif}\;re \le 2.97128001067495674 \cdot 10^{26}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\left(\sqrt[3]{\sqrt{re \cdot re + im \cdot im}} \cdot \sqrt[3]{\sqrt{re \cdot re + im \cdot im}}\right) \cdot \sqrt[3]{\sqrt{re \cdot re + im \cdot im}}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\
\end{array}double f(double re, double im) {
double r90971 = re;
double r90972 = r90971 * r90971;
double r90973 = im;
double r90974 = r90973 * r90973;
double r90975 = r90972 + r90974;
double r90976 = sqrt(r90975);
double r90977 = log(r90976);
double r90978 = 10.0;
double r90979 = log(r90978);
double r90980 = r90977 / r90979;
return r90980;
}
double f(double re, double im) {
double r90981 = re;
double r90982 = -5.185373815743331e+115;
bool r90983 = r90981 <= r90982;
double r90984 = 1.0;
double r90985 = 10.0;
double r90986 = log(r90985);
double r90987 = sqrt(r90986);
double r90988 = r90984 / r90987;
double r90989 = -1.0;
double r90990 = r90989 / r90981;
double r90991 = r90984 / r90986;
double r90992 = sqrt(r90991);
double r90993 = -r90992;
double r90994 = pow(r90990, r90993);
double r90995 = log(r90994);
double r90996 = r90988 * r90995;
double r90997 = -3.2322001606130373e-152;
bool r90998 = r90981 <= r90997;
double r90999 = r90981 * r90981;
double r91000 = im;
double r91001 = r91000 * r91000;
double r91002 = r90999 + r91001;
double r91003 = sqrt(r91002);
double r91004 = cbrt(r91003);
double r91005 = r91004 * r91004;
double r91006 = r91005 * r91004;
double r91007 = pow(r91006, r90988);
double r91008 = log(r91007);
double r91009 = r90988 * r91008;
double r91010 = 8.122635248744386e-238;
bool r91011 = r90981 <= r91010;
double r91012 = pow(r91000, r90992);
double r91013 = log(r91012);
double r91014 = r90988 * r91013;
double r91015 = 2.9712800106749567e+26;
bool r91016 = r90981 <= r91015;
double r91017 = r90984 / r90981;
double r91018 = pow(r91017, r90993);
double r91019 = log(r91018);
double r91020 = r90988 * r91019;
double r91021 = r91016 ? r91009 : r91020;
double r91022 = r91011 ? r91014 : r91021;
double r91023 = r90998 ? r91009 : r91022;
double r91024 = r90983 ? r90996 : r91023;
return r91024;
}



Bits error versus re



Bits error versus im
Results
if re < -5.185373815743331e+115Initial program 54.1
rmApplied add-sqr-sqrt54.1
Applied pow154.1
Applied log-pow54.1
Applied times-frac54.1
rmApplied add-log-exp54.1
Simplified54.1
rmApplied add-cube-cbrt54.1
Taylor expanded around -inf 8.2
Simplified8.1
if -5.185373815743331e+115 < re < -3.2322001606130373e-152 or 8.122635248744386e-238 < re < 2.9712800106749567e+26Initial program 18.8
rmApplied add-sqr-sqrt18.8
Applied pow118.8
Applied log-pow18.8
Applied times-frac18.8
rmApplied add-log-exp18.8
Simplified18.6
rmApplied add-cube-cbrt18.6
if -3.2322001606130373e-152 < re < 8.122635248744386e-238Initial program 30.1
rmApplied add-sqr-sqrt30.1
Applied pow130.1
Applied log-pow30.1
Applied times-frac30.1
rmApplied add-log-exp30.1
Simplified30.0
Taylor expanded around 0 34.3
Simplified34.3
if 2.9712800106749567e+26 < re Initial program 42.4
rmApplied add-sqr-sqrt42.4
Applied pow142.4
Applied log-pow42.4
Applied times-frac42.4
rmApplied add-log-exp42.4
Simplified42.3
rmApplied add-cube-cbrt42.3
Taylor expanded around inf 11.7
Simplified11.6
Final simplification18.3
herbie shell --seed 2020021
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))