\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.272776742038984 \cdot 10^{+36}:\\
\;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(\frac{-1}{re}\right) \cdot -2}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\
\mathbf{elif}\;re \le -2.5387418282241494 \cdot 10^{-275}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}} \cdot \left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le 3.259709475737078 \cdot 10^{-301}:\\
\;\;\;\;\left(\frac{\log im + \log im}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\\
\mathbf{elif}\;re \le 8.145199547234516 \cdot 10^{-246}:\\
\;\;\;\;\left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\\
\mathbf{elif}\;re \le 4.071831069248947 \cdot 10^{-214}:\\
\;\;\;\;\left(\frac{\log im + \log im}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\\
\mathbf{elif}\;re \le 6.734502278787053 \cdot 10^{+66}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}} \cdot \left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \left(2 \cdot \log re\right)\right)\\
\end{array}double f(double re, double im) {
double r473523 = re;
double r473524 = r473523 * r473523;
double r473525 = im;
double r473526 = r473525 * r473525;
double r473527 = r473524 + r473526;
double r473528 = sqrt(r473527);
double r473529 = log(r473528);
double r473530 = 10.0;
double r473531 = log(r473530);
double r473532 = r473529 / r473531;
return r473532;
}
double f(double re, double im) {
double r473533 = re;
double r473534 = -1.272776742038984e+36;
bool r473535 = r473533 <= r473534;
double r473536 = 0.5;
double r473537 = cbrt(r473536);
double r473538 = 10.0;
double r473539 = log(r473538);
double r473540 = cbrt(r473539);
double r473541 = sqrt(r473540);
double r473542 = r473537 / r473541;
double r473543 = -1.0;
double r473544 = r473543 / r473533;
double r473545 = log(r473544);
double r473546 = -2.0;
double r473547 = r473545 * r473546;
double r473548 = sqrt(r473539);
double r473549 = r473547 / r473548;
double r473550 = r473542 * r473549;
double r473551 = r473537 * r473537;
double r473552 = r473540 * r473540;
double r473553 = sqrt(r473552);
double r473554 = r473551 / r473553;
double r473555 = r473550 * r473554;
double r473556 = -2.5387418282241494e-275;
bool r473557 = r473533 <= r473556;
double r473558 = r473533 * r473533;
double r473559 = im;
double r473560 = r473559 * r473559;
double r473561 = r473558 + r473560;
double r473562 = log(r473561);
double r473563 = r473562 / r473548;
double r473564 = r473542 * r473563;
double r473565 = r473554 * r473564;
double r473566 = 3.259709475737078e-301;
bool r473567 = r473533 <= r473566;
double r473568 = log(r473559);
double r473569 = r473568 + r473568;
double r473570 = r473569 / r473548;
double r473571 = sqrt(r473548);
double r473572 = r473537 / r473571;
double r473573 = r473570 * r473572;
double r473574 = r473551 / r473571;
double r473575 = r473573 * r473574;
double r473576 = 8.145199547234516e-246;
bool r473577 = r473533 <= r473576;
double r473578 = r473563 * r473572;
double r473579 = r473578 * r473574;
double r473580 = 4.071831069248947e-214;
bool r473581 = r473533 <= r473580;
double r473582 = 6.734502278787053e+66;
bool r473583 = r473533 <= r473582;
double r473584 = r473536 / r473548;
double r473585 = 1.0;
double r473586 = r473585 / r473539;
double r473587 = sqrt(r473586);
double r473588 = 2.0;
double r473589 = log(r473533);
double r473590 = r473588 * r473589;
double r473591 = r473587 * r473590;
double r473592 = r473584 * r473591;
double r473593 = r473583 ? r473565 : r473592;
double r473594 = r473581 ? r473575 : r473593;
double r473595 = r473577 ? r473579 : r473594;
double r473596 = r473567 ? r473575 : r473595;
double r473597 = r473557 ? r473565 : r473596;
double r473598 = r473535 ? r473555 : r473597;
return r473598;
}



Bits error versus re



Bits error versus im
Results
if re < -1.272776742038984e+36Initial program 41.5
rmApplied add-sqr-sqrt41.5
Applied pow1/241.5
Applied log-pow41.5
Applied times-frac41.5
rmApplied add-cube-cbrt41.7
Applied sqrt-prod41.7
Applied add-cube-cbrt41.5
Applied times-frac41.5
Applied associate-*l*41.5
Taylor expanded around -inf 12.2
Simplified12.2
if -1.272776742038984e+36 < re < -2.5387418282241494e-275 or 4.071831069248947e-214 < re < 6.734502278787053e+66Initial program 20.3
rmApplied add-sqr-sqrt20.3
Applied pow1/220.3
Applied log-pow20.3
Applied times-frac20.3
rmApplied add-cube-cbrt20.8
Applied sqrt-prod20.8
Applied add-cube-cbrt20.3
Applied times-frac20.3
Applied associate-*l*20.2
if -2.5387418282241494e-275 < re < 3.259709475737078e-301 or 8.145199547234516e-246 < re < 4.071831069248947e-214Initial program 33.6
rmApplied add-sqr-sqrt33.6
Applied pow1/233.6
Applied log-pow33.6
Applied times-frac33.6
rmApplied add-sqr-sqrt33.6
Applied sqrt-prod33.9
Applied add-cube-cbrt33.6
Applied times-frac33.6
Applied associate-*l*33.5
Taylor expanded around 0 32.5
Simplified32.5
if 3.259709475737078e-301 < re < 8.145199547234516e-246Initial program 30.4
rmApplied add-sqr-sqrt30.4
Applied pow1/230.4
Applied log-pow30.4
Applied times-frac30.4
rmApplied add-sqr-sqrt30.4
Applied sqrt-prod30.8
Applied add-cube-cbrt30.4
Applied times-frac30.4
Applied associate-*l*30.3
if 6.734502278787053e+66 < re Initial program 43.7
rmApplied add-sqr-sqrt43.7
Applied pow1/243.7
Applied log-pow43.7
Applied times-frac43.7
Taylor expanded around inf 9.3
Simplified9.3
Final simplification17.4
herbie shell --seed 2019151
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))