\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -5.8773751816168363 \cdot 10^{105}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\
\mathbf{elif}\;re \le -4.928069768978484 \cdot 10^{-291}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\
\mathbf{elif}\;re \le 1.02726617646618594 \cdot 10^{-219}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\mathbf{elif}\;re \le 1.20526441884369862 \cdot 10^{151}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(-1 \cdot \left(\log \left(\frac{1}{re}\right) \cdot {\left(\frac{1}{\log 10}\right)}^{\frac{1}{4}}\right)\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\
\end{array}double f(double re, double im) {
double r48404 = re;
double r48405 = r48404 * r48404;
double r48406 = im;
double r48407 = r48406 * r48406;
double r48408 = r48405 + r48407;
double r48409 = sqrt(r48408);
double r48410 = log(r48409);
double r48411 = 10.0;
double r48412 = log(r48411);
double r48413 = r48410 / r48412;
return r48413;
}
double f(double re, double im) {
double r48414 = re;
double r48415 = -5.877375181616836e+105;
bool r48416 = r48414 <= r48415;
double r48417 = 1.0;
double r48418 = 10.0;
double r48419 = log(r48418);
double r48420 = sqrt(r48419);
double r48421 = r48417 / r48420;
double r48422 = -1.0;
double r48423 = r48422 / r48414;
double r48424 = log(r48423);
double r48425 = r48417 / r48419;
double r48426 = sqrt(r48425);
double r48427 = r48424 * r48426;
double r48428 = r48422 * r48427;
double r48429 = r48421 * r48428;
double r48430 = -4.928069768978484e-291;
bool r48431 = r48414 <= r48430;
double r48432 = r48414 * r48414;
double r48433 = im;
double r48434 = r48433 * r48433;
double r48435 = r48432 + r48434;
double r48436 = sqrt(r48435);
double r48437 = log(r48436);
double r48438 = sqrt(r48421);
double r48439 = sqrt(r48438);
double r48440 = r48437 * r48439;
double r48441 = r48440 * r48439;
double r48442 = r48441 * r48438;
double r48443 = r48421 * r48442;
double r48444 = 1.027266176466186e-219;
bool r48445 = r48414 <= r48444;
double r48446 = log(r48433);
double r48447 = r48446 * r48426;
double r48448 = r48421 * r48447;
double r48449 = 1.2052644188436986e+151;
bool r48450 = r48414 <= r48449;
double r48451 = r48417 / r48414;
double r48452 = log(r48451);
double r48453 = 0.25;
double r48454 = pow(r48425, r48453);
double r48455 = r48452 * r48454;
double r48456 = r48422 * r48455;
double r48457 = r48456 * r48438;
double r48458 = r48421 * r48457;
double r48459 = r48450 ? r48443 : r48458;
double r48460 = r48445 ? r48448 : r48459;
double r48461 = r48431 ? r48443 : r48460;
double r48462 = r48416 ? r48429 : r48461;
return r48462;
}



Bits error versus re



Bits error versus im
Results
if re < -5.877375181616836e+105Initial program 51.4
rmApplied add-sqr-sqrt51.4
Applied pow151.4
Applied log-pow51.4
Applied times-frac51.4
Taylor expanded around -inf 8.2
if -5.877375181616836e+105 < re < -4.928069768978484e-291 or 1.027266176466186e-219 < re < 1.2052644188436986e+151Initial program 19.7
rmApplied add-sqr-sqrt19.7
Applied pow119.7
Applied log-pow19.7
Applied times-frac19.7
rmApplied div-inv19.6
rmApplied add-sqr-sqrt19.6
Applied associate-*r*19.6
rmApplied add-sqr-sqrt19.6
Applied sqrt-prod19.7
Applied associate-*r*19.7
if -4.928069768978484e-291 < re < 1.027266176466186e-219Initial program 32.4
rmApplied add-sqr-sqrt32.4
Applied pow132.4
Applied log-pow32.4
Applied times-frac32.3
rmApplied div-inv32.3
rmApplied add-sqr-sqrt32.3
Applied associate-*r*32.3
Taylor expanded around 0 32.4
if 1.2052644188436986e+151 < re Initial program 63.0
rmApplied add-sqr-sqrt63.0
Applied pow163.0
Applied log-pow63.0
Applied times-frac63.0
rmApplied div-inv63.0
rmApplied add-sqr-sqrt63.0
Applied associate-*r*63.0
Taylor expanded around inf 6.5
Final simplification17.2
herbie shell --seed 2020035
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))