\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -6.070696817770049897362818226450973536409 \cdot 10^{119}:\\
\;\;\;\;\left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{-1}{\sqrt{\log 10}}\\
\mathbf{elif}\;re \le 7.239744803523932456345417905652411262743 \cdot 10^{115}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt[3]{\log 10}} \cdot \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt[3]{\sqrt{\log 10}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\end{array}double f(double re, double im) {
double r38117 = re;
double r38118 = r38117 * r38117;
double r38119 = im;
double r38120 = r38119 * r38119;
double r38121 = r38118 + r38120;
double r38122 = sqrt(r38121);
double r38123 = log(r38122);
double r38124 = 10.0;
double r38125 = log(r38124);
double r38126 = r38123 / r38125;
return r38126;
}
double f(double re, double im) {
double r38127 = re;
double r38128 = -6.07069681777005e+119;
bool r38129 = r38127 <= r38128;
double r38130 = -1.0;
double r38131 = r38130 / r38127;
double r38132 = log(r38131);
double r38133 = 1.0;
double r38134 = 10.0;
double r38135 = log(r38134);
double r38136 = r38133 / r38135;
double r38137 = sqrt(r38136);
double r38138 = r38132 * r38137;
double r38139 = sqrt(r38135);
double r38140 = r38130 / r38139;
double r38141 = r38138 * r38140;
double r38142 = 7.2397448035239325e+115;
bool r38143 = r38127 <= r38142;
double r38144 = r38133 / r38139;
double r38145 = cbrt(r38135);
double r38146 = r38133 / r38145;
double r38147 = r38127 * r38127;
double r38148 = im;
double r38149 = r38148 * r38148;
double r38150 = r38147 + r38149;
double r38151 = sqrt(r38150);
double r38152 = log(r38151);
double r38153 = cbrt(r38139);
double r38154 = r38152 / r38153;
double r38155 = r38146 * r38154;
double r38156 = r38144 * r38155;
double r38157 = log(r38127);
double r38158 = r38157 * r38137;
double r38159 = r38144 * r38158;
double r38160 = r38143 ? r38156 : r38159;
double r38161 = r38129 ? r38141 : r38160;
return r38161;
}



Bits error versus re



Bits error versus im
Results
if re < -6.07069681777005e+119Initial program 55.7
rmApplied add-sqr-sqrt55.7
Applied pow155.7
Applied log-pow55.7
Applied times-frac55.7
Taylor expanded around -inf 8.3
Simplified8.3
if -6.07069681777005e+119 < re < 7.2397448035239325e+115Initial program 21.7
rmApplied add-sqr-sqrt21.7
Applied pow121.7
Applied log-pow21.7
Applied times-frac21.7
rmApplied add-cbrt-cube21.7
Applied add-cbrt-cube21.8
Applied cbrt-undiv21.7
Simplified21.8
rmApplied add-cube-cbrt22.5
Applied pow122.5
Applied log-pow22.5
Applied times-frac22.5
Applied unpow-prod-down22.4
Applied cbrt-prod22.4
Simplified21.8
Simplified21.6
if 7.2397448035239325e+115 < re Initial program 53.4
rmApplied add-sqr-sqrt53.4
Applied pow153.4
Applied log-pow53.4
Applied times-frac53.4
rmApplied add-cbrt-cube53.4
Applied add-cbrt-cube53.4
Applied cbrt-undiv53.4
Simplified53.4
Taylor expanded around inf 8.2
Simplified8.2
Final simplification17.6
herbie shell --seed 2019303
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))