\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.3743535485976946 \cdot 10^{+147}:\\
\;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{-2 \cdot \log \left(\frac{-1}{re}\right)}{\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 -1.8362044109739617 \cdot 10^{-302}:\\
\;\;\;\;\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.2371191719503383 \cdot 10^{-277}:\\
\;\;\;\;\left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log im\right) \cdot 2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\
\mathbf{elif}\;re \le 4.5962833543511176 \cdot 10^{+83}:\\
\;\;\;\;\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) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(2 \cdot \log re\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\end{array}double f(double re, double im) {
double r1009377 = re;
double r1009378 = r1009377 * r1009377;
double r1009379 = im;
double r1009380 = r1009379 * r1009379;
double r1009381 = r1009378 + r1009380;
double r1009382 = sqrt(r1009381);
double r1009383 = log(r1009382);
double r1009384 = 10.0;
double r1009385 = log(r1009384);
double r1009386 = r1009383 / r1009385;
return r1009386;
}
double f(double re, double im) {
double r1009387 = re;
double r1009388 = -1.3743535485976946e+147;
bool r1009389 = r1009387 <= r1009388;
double r1009390 = 0.5;
double r1009391 = cbrt(r1009390);
double r1009392 = 10.0;
double r1009393 = log(r1009392);
double r1009394 = cbrt(r1009393);
double r1009395 = sqrt(r1009394);
double r1009396 = r1009391 / r1009395;
double r1009397 = -2.0;
double r1009398 = -1.0;
double r1009399 = r1009398 / r1009387;
double r1009400 = log(r1009399);
double r1009401 = r1009397 * r1009400;
double r1009402 = sqrt(r1009393);
double r1009403 = r1009401 / r1009402;
double r1009404 = r1009396 * r1009403;
double r1009405 = r1009391 * r1009391;
double r1009406 = r1009394 * r1009394;
double r1009407 = sqrt(r1009406);
double r1009408 = r1009405 / r1009407;
double r1009409 = r1009404 * r1009408;
double r1009410 = -1.8362044109739617e-302;
bool r1009411 = r1009387 <= r1009410;
double r1009412 = r1009387 * r1009387;
double r1009413 = im;
double r1009414 = r1009413 * r1009413;
double r1009415 = r1009412 + r1009414;
double r1009416 = log(r1009415);
double r1009417 = r1009416 / r1009402;
double r1009418 = r1009396 * r1009417;
double r1009419 = r1009408 * r1009418;
double r1009420 = 3.2371191719503383e-277;
bool r1009421 = r1009387 <= r1009420;
double r1009422 = 1.0;
double r1009423 = r1009422 / r1009393;
double r1009424 = sqrt(r1009423);
double r1009425 = log(r1009413);
double r1009426 = r1009424 * r1009425;
double r1009427 = 2.0;
double r1009428 = r1009426 * r1009427;
double r1009429 = r1009390 / r1009402;
double r1009430 = r1009428 * r1009429;
double r1009431 = 4.5962833543511176e+83;
bool r1009432 = r1009387 <= r1009431;
double r1009433 = sqrt(r1009402);
double r1009434 = r1009391 / r1009433;
double r1009435 = r1009434 * r1009417;
double r1009436 = r1009405 / r1009433;
double r1009437 = r1009435 * r1009436;
double r1009438 = log(r1009387);
double r1009439 = r1009427 * r1009438;
double r1009440 = r1009439 * r1009424;
double r1009441 = r1009429 * r1009440;
double r1009442 = r1009432 ? r1009437 : r1009441;
double r1009443 = r1009421 ? r1009430 : r1009442;
double r1009444 = r1009411 ? r1009419 : r1009443;
double r1009445 = r1009389 ? r1009409 : r1009444;
return r1009445;
}



Bits error versus re



Bits error versus im
Results
if re < -1.3743535485976946e+147Initial program 59.9
rmApplied add-sqr-sqrt59.9
Applied pow159.9
Applied sqrt-pow159.9
Applied log-pow59.9
Applied times-frac59.9
Simplified59.9
rmApplied add-cube-cbrt59.9
Applied sqrt-prod59.9
Applied add-cube-cbrt59.9
Applied times-frac59.9
Applied associate-*l*59.9
Taylor expanded around -inf 7.0
Simplified7.0
if -1.3743535485976946e+147 < re < -1.8362044109739617e-302Initial program 21.7
rmApplied add-sqr-sqrt21.7
Applied pow121.7
Applied sqrt-pow121.7
Applied log-pow21.7
Applied times-frac21.7
Simplified21.7
rmApplied add-cube-cbrt22.2
Applied sqrt-prod22.2
Applied add-cube-cbrt21.7
Applied times-frac21.7
Applied associate-*l*21.7
if -1.8362044109739617e-302 < re < 3.2371191719503383e-277Initial program 32.6
rmApplied add-sqr-sqrt32.6
Applied pow132.6
Applied sqrt-pow132.6
Applied log-pow32.6
Applied times-frac32.6
Simplified32.6
Taylor expanded around 0 28.4
if 3.2371191719503383e-277 < re < 4.5962833543511176e+83Initial program 20.0
rmApplied add-sqr-sqrt20.0
Applied pow120.0
Applied sqrt-pow120.0
Applied log-pow20.0
Applied times-frac19.9
Simplified19.9
rmApplied add-sqr-sqrt20.5
Applied add-cube-cbrt19.9
Applied times-frac19.9
Applied associate-*l*19.9
if 4.5962833543511176e+83 < re Initial program 48.5
rmApplied add-sqr-sqrt48.5
Applied pow148.5
Applied sqrt-pow148.5
Applied log-pow48.5
Applied times-frac48.5
Simplified48.5
Taylor expanded around inf 9.6
Simplified9.6
Final simplification17.1
herbie shell --seed 2019142
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))