\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.886444123297446 \cdot 10^{126}:\\
\;\;\;\;\frac{1}{\sqrt{1}} \cdot \left(\left(-2 \cdot \log \left(\frac{-1}{re}\right)\right) \cdot \frac{\frac{\frac{1}{2}}{\sqrt{\log 10}}}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le -2.30867664875349023 \cdot 10^{-209}:\\
\;\;\;\;\frac{1}{\sqrt{1}} \cdot \left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{\frac{\frac{1}{2}}{\sqrt{\log 10}}}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le 1.2217527835098556 \cdot 10^{-266}:\\
\;\;\;\;\frac{1}{\sqrt{1}} \cdot \left(\left(2 \cdot \log im\right) \cdot \frac{\frac{\frac{1}{2}}{\sqrt{\log 10}}}{\sqrt{\log 10}}\right)\\
\mathbf{elif}\;re \le 4.9319226435479606 \cdot 10^{132}:\\
\;\;\;\;\frac{1}{\sqrt{1}} \cdot \left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{\frac{\frac{1}{2}}{\sqrt{\log 10}}}{\sqrt{\log 10}}\right)\\
\mathbf{else}:\\
\;\;\;\;\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)\\
\end{array}double f(double re, double im) {
double r44538 = re;
double r44539 = r44538 * r44538;
double r44540 = im;
double r44541 = r44540 * r44540;
double r44542 = r44539 + r44541;
double r44543 = sqrt(r44542);
double r44544 = log(r44543);
double r44545 = 10.0;
double r44546 = log(r44545);
double r44547 = r44544 / r44546;
return r44547;
}
double f(double re, double im) {
double r44548 = re;
double r44549 = -1.886444123297446e+126;
bool r44550 = r44548 <= r44549;
double r44551 = 1.0;
double r44552 = sqrt(r44551);
double r44553 = r44551 / r44552;
double r44554 = 2.0;
double r44555 = -1.0;
double r44556 = r44555 / r44548;
double r44557 = log(r44556);
double r44558 = r44554 * r44557;
double r44559 = -r44558;
double r44560 = 0.5;
double r44561 = 10.0;
double r44562 = log(r44561);
double r44563 = sqrt(r44562);
double r44564 = r44560 / r44563;
double r44565 = r44564 / r44563;
double r44566 = r44559 * r44565;
double r44567 = r44553 * r44566;
double r44568 = -2.3086766487534902e-209;
bool r44569 = r44548 <= r44568;
double r44570 = r44548 * r44548;
double r44571 = im;
double r44572 = r44571 * r44571;
double r44573 = r44570 + r44572;
double r44574 = log(r44573);
double r44575 = r44574 * r44565;
double r44576 = r44553 * r44575;
double r44577 = 1.2217527835098556e-266;
bool r44578 = r44548 <= r44577;
double r44579 = log(r44571);
double r44580 = r44554 * r44579;
double r44581 = r44580 * r44565;
double r44582 = r44553 * r44581;
double r44583 = 4.9319226435479606e+132;
bool r44584 = r44548 <= r44583;
double r44585 = -2.0;
double r44586 = r44551 / r44548;
double r44587 = log(r44586);
double r44588 = r44551 / r44562;
double r44589 = sqrt(r44588);
double r44590 = r44587 * r44589;
double r44591 = r44585 * r44590;
double r44592 = r44564 * r44591;
double r44593 = r44584 ? r44576 : r44592;
double r44594 = r44578 ? r44582 : r44593;
double r44595 = r44569 ? r44576 : r44594;
double r44596 = r44550 ? r44567 : r44595;
return r44596;
}



Bits error versus re



Bits error versus im
Results
if re < -1.886444123297446e+126Initial program 57.6
rmApplied add-sqr-sqrt57.6
Applied pow1/257.6
Applied log-pow57.6
Applied times-frac57.6
rmApplied add-log-exp57.6
Simplified57.6
rmApplied pow157.6
Applied log-pow57.6
Applied sqrt-prod57.6
Applied *-un-lft-identity57.6
Applied times-frac57.6
Applied associate-*l*57.6
Simplified57.6
Taylor expanded around -inf 9.0
if -1.886444123297446e+126 < re < -2.3086766487534902e-209 or 1.2217527835098556e-266 < re < 4.9319226435479606e+132Initial program 19.9
rmApplied add-sqr-sqrt19.9
Applied pow1/219.9
Applied log-pow19.9
Applied times-frac19.9
rmApplied add-log-exp19.9
Simplified19.7
rmApplied pow119.7
Applied log-pow19.7
Applied sqrt-prod19.7
Applied *-un-lft-identity19.7
Applied times-frac19.7
Applied associate-*l*19.7
Simplified19.7
if -2.3086766487534902e-209 < re < 1.2217527835098556e-266Initial program 31.6
rmApplied add-sqr-sqrt31.6
Applied pow1/231.6
Applied log-pow31.6
Applied times-frac31.6
rmApplied add-log-exp31.6
Simplified31.5
rmApplied pow131.5
Applied log-pow31.5
Applied sqrt-prod31.5
Applied *-un-lft-identity31.5
Applied times-frac31.5
Applied associate-*l*31.5
Simplified31.5
Taylor expanded around 0 35.4
if 4.9319226435479606e+132 < re Initial program 58.4
rmApplied add-sqr-sqrt58.4
Applied pow1/258.4
Applied log-pow58.4
Applied times-frac58.4
Taylor expanded around inf 6.8
Final simplification18.1
herbie shell --seed 2020033
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))