\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 r45436 = re;
double r45437 = r45436 * r45436;
double r45438 = im;
double r45439 = r45438 * r45438;
double r45440 = r45437 + r45439;
double r45441 = sqrt(r45440);
double r45442 = log(r45441);
double r45443 = 10.0;
double r45444 = log(r45443);
double r45445 = r45442 / r45444;
return r45445;
}
double f(double re, double im) {
double r45446 = re;
double r45447 = -2.5924544535613553e+93;
bool r45448 = r45446 <= r45447;
double r45449 = 0.5;
double r45450 = 10.0;
double r45451 = log(r45450);
double r45452 = sqrt(r45451);
double r45453 = r45449 / r45452;
double r45454 = -2.0;
double r45455 = -1.0;
double r45456 = r45455 / r45446;
double r45457 = log(r45456);
double r45458 = 1.0;
double r45459 = r45458 / r45451;
double r45460 = sqrt(r45459);
double r45461 = r45457 * r45460;
double r45462 = r45454 * r45461;
double r45463 = r45453 * r45462;
double r45464 = -4.4427102430001434e-260;
bool r45465 = r45446 <= r45464;
double r45466 = r45446 * r45446;
double r45467 = im;
double r45468 = r45467 * r45467;
double r45469 = r45466 + r45468;
double r45470 = r45458 / r45452;
double r45471 = pow(r45469, r45470);
double r45472 = log(r45471);
double r45473 = r45453 * r45472;
double r45474 = 7.2262322389444365e-227;
bool r45475 = r45446 <= r45474;
double r45476 = cbrt(r45449);
double r45477 = r45476 * r45476;
double r45478 = sqrt(r45452);
double r45479 = r45477 / r45478;
double r45480 = r45476 / r45478;
double r45481 = 2.0;
double r45482 = log(r45467);
double r45483 = r45481 * r45482;
double r45484 = r45483 / r45452;
double r45485 = r45480 * r45484;
double r45486 = r45479 * r45485;
double r45487 = 8.439330033545885e+67;
bool r45488 = r45446 <= r45487;
double r45489 = log(r45446);
double r45490 = r45489 * r45481;
double r45491 = r45490 / r45452;
double r45492 = r45480 * r45491;
double r45493 = r45479 * r45492;
double r45494 = r45488 ? r45473 : r45493;
double r45495 = r45475 ? r45486 : r45494;
double r45496 = r45465 ? r45473 : r45495;
double r45497 = r45448 ? r45463 : r45496;
return r45497;
}



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)))