\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.9173717249563345 \cdot 10^{+124}:\\
\;\;\;\;\frac{\log \left(-re\right)}{\log 10}\\
\mathbf{elif}\;re \le 3.425958633542213 \cdot 10^{+105}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\left|\sqrt[3]{im \cdot im + re \cdot re}\right| \cdot \sqrt{\sqrt[3]{im \cdot im + re \cdot re}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\log re}{\log 10}\\
\end{array}double f(double re, double im) {
double r856359 = re;
double r856360 = r856359 * r856359;
double r856361 = im;
double r856362 = r856361 * r856361;
double r856363 = r856360 + r856362;
double r856364 = sqrt(r856363);
double r856365 = log(r856364);
double r856366 = 10.0;
double r856367 = log(r856366);
double r856368 = r856365 / r856367;
return r856368;
}
double f(double re, double im) {
double r856369 = re;
double r856370 = -1.9173717249563345e+124;
bool r856371 = r856369 <= r856370;
double r856372 = -r856369;
double r856373 = log(r856372);
double r856374 = 10.0;
double r856375 = log(r856374);
double r856376 = r856373 / r856375;
double r856377 = 3.425958633542213e+105;
bool r856378 = r856369 <= r856377;
double r856379 = 1.0;
double r856380 = sqrt(r856375);
double r856381 = r856379 / r856380;
double r856382 = im;
double r856383 = r856382 * r856382;
double r856384 = r856369 * r856369;
double r856385 = r856383 + r856384;
double r856386 = cbrt(r856385);
double r856387 = fabs(r856386);
double r856388 = sqrt(r856386);
double r856389 = r856387 * r856388;
double r856390 = log(r856389);
double r856391 = r856381 * r856390;
double r856392 = r856381 * r856391;
double r856393 = log(r856369);
double r856394 = r856393 / r856375;
double r856395 = r856378 ? r856392 : r856394;
double r856396 = r856371 ? r856376 : r856395;
return r856396;
}



Bits error versus re



Bits error versus im
Results
if re < -1.9173717249563345e+124Initial program 55.4
Taylor expanded around -inf 8.1
Simplified8.1
if -1.9173717249563345e+124 < re < 3.425958633542213e+105Initial program 21.2
rmApplied add-cube-cbrt21.2
Applied sqrt-prod21.2
Simplified21.2
rmApplied add-exp-log21.2
rmApplied add-sqr-sqrt21.2
Applied pow121.2
Applied pow121.2
Applied pow-prod-down21.2
Applied log-pow21.2
Applied times-frac21.2
Simplified21.2
rmApplied div-inv21.1
if 3.425958633542213e+105 < re Initial program 50.9
Taylor expanded around inf 9.3
Simplified9.3
Final simplification17.3
herbie shell --seed 2019134
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))