\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -4.1975508038006968 \cdot 10^{153}:\\
\;\;\;\;\frac{-\log \left(\frac{-1}{re}\right)}{\log 10}\\
\mathbf{elif}\;re \le -4.5405452937718227 \cdot 10^{-275}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \frac{\sqrt{\frac{1}{2}}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}\\
\mathbf{elif}\;re \le 1.27662858127337166 \cdot 10^{-281}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \left(\frac{\sqrt{\sqrt{\frac{1}{2}}}}{\sqrt{\log 10}} \cdot \left(\sqrt{\sqrt{\frac{1}{2}}} \cdot \left(2 \cdot \log im\right)\right)\right)\\
\mathbf{elif}\;re \le 8.0278279982437549 \cdot 10^{98}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \frac{\sqrt{\frac{1}{2}}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \frac{\sqrt{\frac{1}{2}}}{\frac{\sqrt{\log 10}}{2 \cdot \log re}}\\
\end{array}double f(double re, double im) {
double r46096 = re;
double r46097 = r46096 * r46096;
double r46098 = im;
double r46099 = r46098 * r46098;
double r46100 = r46097 + r46099;
double r46101 = sqrt(r46100);
double r46102 = log(r46101);
double r46103 = 10.0;
double r46104 = log(r46103);
double r46105 = r46102 / r46104;
return r46105;
}
double f(double re, double im) {
double r46106 = re;
double r46107 = -4.197550803800697e+153;
bool r46108 = r46106 <= r46107;
double r46109 = -1.0;
double r46110 = r46109 / r46106;
double r46111 = log(r46110);
double r46112 = -r46111;
double r46113 = 10.0;
double r46114 = log(r46113);
double r46115 = r46112 / r46114;
double r46116 = -4.540545293771823e-275;
bool r46117 = r46106 <= r46116;
double r46118 = 0.5;
double r46119 = sqrt(r46118);
double r46120 = sqrt(r46114);
double r46121 = r46119 / r46120;
double r46122 = r46106 * r46106;
double r46123 = im;
double r46124 = r46123 * r46123;
double r46125 = r46122 + r46124;
double r46126 = log(r46125);
double r46127 = r46120 / r46126;
double r46128 = r46119 / r46127;
double r46129 = r46121 * r46128;
double r46130 = 1.2766285812733717e-281;
bool r46131 = r46106 <= r46130;
double r46132 = sqrt(r46119);
double r46133 = r46132 / r46120;
double r46134 = 2.0;
double r46135 = log(r46123);
double r46136 = r46134 * r46135;
double r46137 = r46132 * r46136;
double r46138 = r46133 * r46137;
double r46139 = r46121 * r46138;
double r46140 = 8.027827998243755e+98;
bool r46141 = r46106 <= r46140;
double r46142 = log(r46106);
double r46143 = r46134 * r46142;
double r46144 = r46120 / r46143;
double r46145 = r46119 / r46144;
double r46146 = r46121 * r46145;
double r46147 = r46141 ? r46129 : r46146;
double r46148 = r46131 ? r46139 : r46147;
double r46149 = r46117 ? r46129 : r46148;
double r46150 = r46108 ? r46115 : r46149;
return r46150;
}



Bits error versus re



Bits error versus im
Results
if re < -4.197550803800697e+153Initial program 63.9
rmApplied pow163.9
Applied sqrt-pow163.9
Applied log-pow63.9
Applied associate-/l*63.9
rmApplied pow163.9
Applied log-pow63.9
Applied add-sqr-sqrt63.9
Applied times-frac63.9
Applied add-sqr-sqrt63.9
Applied times-frac63.9
Simplified63.9
Simplified63.9
Taylor expanded around -inf 7.2
Simplified7.1
if -4.197550803800697e+153 < re < -4.540545293771823e-275 or 1.2766285812733717e-281 < re < 8.027827998243755e+98Initial program 21.6
rmApplied pow121.6
Applied sqrt-pow121.6
Applied log-pow21.6
Applied associate-/l*21.7
rmApplied pow121.7
Applied log-pow21.7
Applied add-sqr-sqrt21.7
Applied times-frac21.8
Applied add-sqr-sqrt21.7
Applied times-frac21.5
Simplified21.5
Simplified21.5
if -4.540545293771823e-275 < re < 1.2766285812733717e-281Initial program 33.3
rmApplied pow133.3
Applied sqrt-pow133.3
Applied log-pow33.3
Applied associate-/l*33.2
rmApplied pow133.2
Applied log-pow33.2
Applied add-sqr-sqrt33.2
Applied times-frac33.3
Applied add-sqr-sqrt33.3
Applied times-frac33.2
Simplified33.2
Simplified33.2
rmApplied div-inv33.2
Applied add-sqr-sqrt33.2
Applied sqrt-prod33.3
Applied times-frac33.2
Simplified33.1
Taylor expanded around 0 33.5
if 8.027827998243755e+98 < re Initial program 51.6
rmApplied pow151.6
Applied sqrt-pow151.6
Applied log-pow51.6
Applied associate-/l*51.6
rmApplied pow151.6
Applied log-pow51.6
Applied add-sqr-sqrt51.6
Applied times-frac51.7
Applied add-sqr-sqrt51.7
Applied times-frac51.6
Simplified51.6
Simplified51.6
Taylor expanded around inf 8.0
Simplified8.0
Final simplification18.0
herbie shell --seed 2020046
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))