\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -6.795235363351034 \cdot 10^{+137}:\\
\;\;\;\;\frac{\log \left(-re\right)}{\log 10}\\
\mathbf{elif}\;re \le 4.0586580656124443 \cdot 10^{+124}:\\
\;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\left|\sqrt[3]{im \cdot im + re \cdot re}\right| \cdot \sqrt{e^{\log \left(\sqrt[3]{im \cdot im + re \cdot re}\right)}}\right)\right) \cdot \frac{1}{\sqrt{\log 10}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log re}{\log 10}\\
\end{array}double f(double re, double im) {
double r2736632 = re;
double r2736633 = r2736632 * r2736632;
double r2736634 = im;
double r2736635 = r2736634 * r2736634;
double r2736636 = r2736633 + r2736635;
double r2736637 = sqrt(r2736636);
double r2736638 = log(r2736637);
double r2736639 = 10.0;
double r2736640 = log(r2736639);
double r2736641 = r2736638 / r2736640;
return r2736641;
}
double f(double re, double im) {
double r2736642 = re;
double r2736643 = -6.795235363351034e+137;
bool r2736644 = r2736642 <= r2736643;
double r2736645 = -r2736642;
double r2736646 = log(r2736645);
double r2736647 = 10.0;
double r2736648 = log(r2736647);
double r2736649 = r2736646 / r2736648;
double r2736650 = 4.0586580656124443e+124;
bool r2736651 = r2736642 <= r2736650;
double r2736652 = 1.0;
double r2736653 = sqrt(r2736648);
double r2736654 = r2736652 / r2736653;
double r2736655 = im;
double r2736656 = r2736655 * r2736655;
double r2736657 = r2736642 * r2736642;
double r2736658 = r2736656 + r2736657;
double r2736659 = cbrt(r2736658);
double r2736660 = fabs(r2736659);
double r2736661 = log(r2736659);
double r2736662 = exp(r2736661);
double r2736663 = sqrt(r2736662);
double r2736664 = r2736660 * r2736663;
double r2736665 = log(r2736664);
double r2736666 = r2736654 * r2736665;
double r2736667 = r2736666 * r2736654;
double r2736668 = log(r2736642);
double r2736669 = r2736668 / r2736648;
double r2736670 = r2736651 ? r2736667 : r2736669;
double r2736671 = r2736644 ? r2736649 : r2736670;
return r2736671;
}



Bits error versus re



Bits error versus im
Results
if re < -6.795235363351034e+137Initial program 57.4
Taylor expanded around -inf 7.7
Simplified7.7
if -6.795235363351034e+137 < re < 4.0586580656124443e+124Initial program 21.1
rmApplied add-cube-cbrt21.1
Applied sqrt-prod21.1
Simplified21.1
rmApplied add-sqr-sqrt21.1
Applied *-un-lft-identity21.1
Applied times-frac21.1
rmApplied div-inv21.0
rmApplied add-exp-log21.0
if 4.0586580656124443e+124 < re Initial program 55.2
Taylor expanded around inf 7.5
Simplified7.5
Final simplification17.2
herbie shell --seed 2019119
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))