\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -2.103637907474162 \cdot 10^{+73}:\\
\;\;\;\;\left(\left(\frac{\log \left(\frac{-1}{re}\right) \cdot -2}{\sqrt{\log 10}} \cdot \sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right) \cdot \sqrt{\frac{\sqrt{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}}}\right) \cdot \sqrt{\frac{\sqrt{\frac{1}{2}}}{\left|\sqrt[3]{\log 10}\right|}}\\
\mathbf{elif}\;re \le 1.8737997944449135 \cdot 10^{+98}:\\
\;\;\;\;\left(\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \frac{\log \left(im \cdot im + re \cdot re\right)}{\sqrt{\log 10}}\right) \cdot \sqrt{\frac{1}{2}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{2 \cdot \log re}{\sqrt{\log 10}} \cdot \sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\right) \cdot \sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10}}}\\
\end{array}double f(double re, double im) {
double r1685099 = re;
double r1685100 = r1685099 * r1685099;
double r1685101 = im;
double r1685102 = r1685101 * r1685101;
double r1685103 = r1685100 + r1685102;
double r1685104 = sqrt(r1685103);
double r1685105 = log(r1685104);
double r1685106 = 10.0;
double r1685107 = log(r1685106);
double r1685108 = r1685105 / r1685107;
return r1685108;
}
double f(double re, double im) {
double r1685109 = re;
double r1685110 = -2.103637907474162e+73;
bool r1685111 = r1685109 <= r1685110;
double r1685112 = -1.0;
double r1685113 = r1685112 / r1685109;
double r1685114 = log(r1685113);
double r1685115 = -2.0;
double r1685116 = r1685114 * r1685115;
double r1685117 = 10.0;
double r1685118 = log(r1685117);
double r1685119 = sqrt(r1685118);
double r1685120 = r1685116 / r1685119;
double r1685121 = 0.5;
double r1685122 = r1685121 / r1685119;
double r1685123 = sqrt(r1685122);
double r1685124 = r1685120 * r1685123;
double r1685125 = sqrt(r1685121);
double r1685126 = cbrt(r1685118);
double r1685127 = sqrt(r1685126);
double r1685128 = r1685125 / r1685127;
double r1685129 = sqrt(r1685128);
double r1685130 = r1685124 * r1685129;
double r1685131 = fabs(r1685126);
double r1685132 = r1685125 / r1685131;
double r1685133 = sqrt(r1685132);
double r1685134 = r1685130 * r1685133;
double r1685135 = 1.8737997944449135e+98;
bool r1685136 = r1685109 <= r1685135;
double r1685137 = r1685125 / r1685119;
double r1685138 = im;
double r1685139 = r1685138 * r1685138;
double r1685140 = r1685109 * r1685109;
double r1685141 = r1685139 + r1685140;
double r1685142 = log(r1685141);
double r1685143 = r1685142 / r1685119;
double r1685144 = r1685137 * r1685143;
double r1685145 = r1685144 * r1685125;
double r1685146 = 2.0;
double r1685147 = log(r1685109);
double r1685148 = r1685146 * r1685147;
double r1685149 = r1685148 / r1685119;
double r1685150 = r1685149 * r1685123;
double r1685151 = r1685150 * r1685123;
double r1685152 = r1685136 ? r1685145 : r1685151;
double r1685153 = r1685111 ? r1685134 : r1685152;
return r1685153;
}



Bits error versus re



Bits error versus im
Results
if re < -2.103637907474162e+73Initial program 46.2
rmApplied add-sqr-sqrt46.2
Applied pow146.2
Applied sqrt-pow146.2
Applied log-pow46.2
Applied times-frac46.2
Simplified46.2
rmApplied add-sqr-sqrt46.2
Applied associate-*l*46.2
rmApplied add-cube-cbrt46.3
Applied sqrt-prod46.3
Applied add-sqr-sqrt46.2
Applied times-frac46.3
Applied sqrt-prod46.2
Applied associate-*l*46.2
Simplified46.2
Taylor expanded around -inf 10.1
Simplified10.1
if -2.103637907474162e+73 < re < 1.8737997944449135e+98Initial program 21.3
rmApplied add-sqr-sqrt21.3
Applied pow121.3
Applied sqrt-pow121.3
Applied log-pow21.3
Applied times-frac21.3
Simplified21.3
rmApplied *-un-lft-identity21.3
Applied sqrt-prod21.3
Applied add-sqr-sqrt21.3
Applied times-frac21.3
Applied associate-*l*21.2
Simplified21.2
if 1.8737997944449135e+98 < re Initial program 49.3
rmApplied add-sqr-sqrt49.3
Applied pow149.3
Applied sqrt-pow149.3
Applied log-pow49.3
Applied times-frac49.3
Simplified49.3
rmApplied add-sqr-sqrt49.3
Applied associate-*l*49.2
Taylor expanded around inf 10.0
Simplified10.0
Final simplification17.1
herbie shell --seed 2019121
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))