double f(double re, double im) {
double r1379426 = re;
double r1379427 = r1379426 * r1379426;
double r1379428 = im;
double r1379429 = r1379428 * r1379428;
double r1379430 = r1379427 + r1379429;
double r1379431 = sqrt(r1379430);
double r1379432 = log(r1379431);
double r1379433 = 10.0;
double r1379434 = log(r1379433);
double r1379435 = r1379432 / r1379434;
return r1379435;
}
double f(double re, double im) {
double r1379436 = re;
double r1379437 = -1.6928459539323875e+124;
bool r1379438 = r1379436 <= r1379437;
double r1379439 = 1.0;
double r1379440 = 10.0;
double r1379441 = log(r1379440);
double r1379442 = r1379439 / r1379441;
double r1379443 = sqrt(r1379442);
double r1379444 = -1.0;
double r1379445 = r1379444 / r1379436;
double r1379446 = log(r1379445);
double r1379447 = r1379443 * r1379446;
double r1379448 = sqrt(r1379441);
double r1379449 = r1379444 / r1379448;
double r1379450 = r1379447 * r1379449;
double r1379451 = 1.1103751941918137e+63;
bool r1379452 = r1379436 <= r1379451;
double r1379453 = r1379436 * r1379436;
double r1379454 = im;
double r1379455 = r1379454 * r1379454;
double r1379456 = r1379453 + r1379455;
double r1379457 = sqrt(r1379456);
double r1379458 = log(r1379457);
double r1379459 = r1379458 * r1379458;
double r1379460 = r1379459 * r1379458;
double r1379461 = r1379441 * r1379448;
double r1379462 = r1379460 / r1379461;
double r1379463 = cbrt(r1379462);
double r1379464 = r1379439 / r1379448;
double r1379465 = r1379463 * r1379464;
double r1379466 = log(r1379436);
double r1379467 = r1379466 * r1379443;
double r1379468 = r1379464 * r1379467;
double r1379469 = r1379452 ? r1379465 : r1379468;
double r1379470 = r1379438 ? r1379450 : r1379469;
return r1379470;
}
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.6928459539323875 \cdot 10^{+124}:\\
\;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot \frac{-1}{\sqrt{\log 10}}\\
\mathbf{elif}\;re \le 1.1103751941918137 \cdot 10^{+63}:\\
\;\;\;\;\sqrt[3]{\frac{\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10 \cdot \sqrt{\log 10}}} \cdot \frac{1}{\sqrt{\log 10}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\end{array}


Bits error versus re



Bits error versus im
if re < -1.6928459539323875e+124Initial program 54.5
rmApplied add-sqr-sqrt54.5
Applied pow154.5
Applied log-pow54.5
Applied times-frac54.5
Taylor expanded around -inf 8.7
if -1.6928459539323875e+124 < re < 1.1103751941918137e+63Initial program 21.6
rmApplied add-sqr-sqrt21.6
Applied pow121.6
Applied log-pow21.6
Applied times-frac21.6
rmApplied add-cbrt-cube21.6
Applied add-cbrt-cube21.7
Applied cbrt-undiv21.6
Simplified21.6
if 1.1103751941918137e+63 < re Initial program 45.2
rmApplied add-sqr-sqrt45.2
Applied pow145.2
Applied log-pow45.2
Applied times-frac45.2
Taylor expanded around inf 11.0
Simplified11.0
Final simplification17.7
herbie shell --seed 2019102
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))