\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -8.528127276764349062375093852629016219739 \cdot 10^{119}:\\
\;\;\;\;\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.371006412922919355426993155500752563146 \cdot 10^{-223}:\\
\;\;\;\;\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 \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le -2.437299774034011283254659821557789091298 \cdot 10^{-288}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(2 \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\
\mathbf{elif}\;re \le 1.266521437225666892318788639170016686519 \cdot 10^{76}:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\sqrt{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\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 r90575 = re;
double r90576 = r90575 * r90575;
double r90577 = im;
double r90578 = r90577 * r90577;
double r90579 = r90576 + r90578;
double r90580 = sqrt(r90579);
double r90581 = log(r90580);
double r90582 = 10.0;
double r90583 = log(r90582);
double r90584 = r90581 / r90583;
return r90584;
}
double f(double re, double im) {
double r90585 = re;
double r90586 = -8.528127276764349e+119;
bool r90587 = r90585 <= r90586;
double r90588 = 0.5;
double r90589 = 10.0;
double r90590 = log(r90589);
double r90591 = sqrt(r90590);
double r90592 = r90588 / r90591;
double r90593 = -2.0;
double r90594 = -1.0;
double r90595 = r90594 / r90585;
double r90596 = log(r90595);
double r90597 = 1.0;
double r90598 = r90597 / r90590;
double r90599 = sqrt(r90598);
double r90600 = r90596 * r90599;
double r90601 = r90593 * r90600;
double r90602 = r90592 * r90601;
double r90603 = -4.371006412922919e-223;
bool r90604 = r90585 <= r90603;
double r90605 = cbrt(r90588);
double r90606 = r90605 * r90605;
double r90607 = sqrt(r90591);
double r90608 = r90606 / r90607;
double r90609 = r90605 / r90607;
double r90610 = r90585 * r90585;
double r90611 = im;
double r90612 = r90611 * r90611;
double r90613 = r90610 + r90612;
double r90614 = log(r90613);
double r90615 = r90614 / r90591;
double r90616 = r90609 * r90615;
double r90617 = r90608 * r90616;
double r90618 = -2.4372997740340113e-288;
bool r90619 = r90585 <= r90618;
double r90620 = 2.0;
double r90621 = log(r90611);
double r90622 = r90621 * r90599;
double r90623 = r90620 * r90622;
double r90624 = r90592 * r90623;
double r90625 = 1.2665214372256669e+76;
bool r90626 = r90585 <= r90625;
double r90627 = sqrt(r90588);
double r90628 = r90627 / r90607;
double r90629 = r90628 * r90615;
double r90630 = r90628 * r90629;
double r90631 = log(r90585);
double r90632 = r90631 * r90620;
double r90633 = r90632 / r90591;
double r90634 = r90609 * r90633;
double r90635 = r90608 * r90634;
double r90636 = r90626 ? r90630 : r90635;
double r90637 = r90619 ? r90624 : r90636;
double r90638 = r90604 ? r90617 : r90637;
double r90639 = r90587 ? r90602 : r90638;
return r90639;
}



Bits error versus re



Bits error versus im
Results
if re < -8.528127276764349e+119Initial program 56.2
rmApplied add-sqr-sqrt56.2
Applied pow1/256.2
Applied log-pow56.2
Applied times-frac56.2
Taylor expanded around -inf 8.0
if -8.528127276764349e+119 < re < -4.371006412922919e-223Initial program 19.3
rmApplied add-sqr-sqrt19.3
Applied pow1/219.3
Applied log-pow19.3
Applied times-frac19.3
rmApplied add-sqr-sqrt19.3
Applied sqrt-prod19.8
Applied add-cube-cbrt19.3
Applied times-frac19.3
Applied associate-*l*19.2
if -4.371006412922919e-223 < re < -2.4372997740340113e-288Initial program 30.1
rmApplied add-sqr-sqrt30.1
Applied pow1/230.1
Applied log-pow30.1
Applied times-frac30.1
Taylor expanded around 0 32.2
if -2.4372997740340113e-288 < re < 1.2665214372256669e+76Initial program 22.9
rmApplied add-sqr-sqrt22.9
Applied pow1/222.9
Applied log-pow22.9
Applied times-frac22.9
rmApplied add-sqr-sqrt22.9
Applied sqrt-prod23.4
Applied add-sqr-sqrt22.9
Applied times-frac22.9
Applied associate-*l*22.8
if 1.2665214372256669e+76 < re Initial program 48.3
rmApplied add-sqr-sqrt48.3
Applied pow1/248.3
Applied log-pow48.3
Applied times-frac48.2
rmApplied add-sqr-sqrt48.2
Applied sqrt-prod48.4
Applied add-cube-cbrt48.2
Applied times-frac48.2
Applied associate-*l*48.2
Taylor expanded around inf 10.5
Simplified10.5
Final simplification17.7
herbie shell --seed 2019347
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))