\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;im \le -2.957483221806522487658889360988388662853 \cdot 10^{136}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right)\\
\mathbf{elif}\;im \le -6.570997735276894967118260067026371622396 \cdot 10^{56}:\\
\;\;\;\;\left(\sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}}}} \cdot \left({\left(\sqrt{\frac{1}{\sqrt{\log 10}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\right) \cdot \sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}}}\\
\mathbf{elif}\;im \le -3054555687171828544312670244831232:\\
\;\;\;\;\frac{-1}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\mathbf{elif}\;im \le -4.843689540090472204066045131134642712938 \cdot 10^{-262}:\\
\;\;\;\;\left(\sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}}}} \cdot \left({\left(\sqrt{\frac{1}{\sqrt{\log 10}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\right) \cdot \sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}}}\\
\mathbf{elif}\;im \le 9.677784630305516420633165389576243090092 \cdot 10^{-234}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log re\right)\\
\mathbf{elif}\;im \le 3.867993196915089402122192166122080152846 \cdot 10^{-217}:\\
\;\;\;\;\sqrt[3]{{\left(-\frac{\log \left(\frac{-1}{re}\right)}{\log 10}\right)}^{3}}\\
\mathbf{elif}\;im \le 1.009811225965744635764018839775433289102 \cdot 10^{-185}:\\
\;\;\;\;\sqrt[3]{{\left(\frac{\log re}{\log 10}\right)}^{3}}\\
\mathbf{elif}\;im \le 5.177363335544844238286158381799834195072 \cdot 10^{86}:\\
\;\;\;\;\left(\sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}}}} \cdot \left({\left(\sqrt{\frac{1}{\sqrt{\log 10}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\right) \cdot \sqrt{\frac{1}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \left(\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\
\end{array}double f(double re, double im) {
double r43219 = re;
double r43220 = r43219 * r43219;
double r43221 = im;
double r43222 = r43221 * r43221;
double r43223 = r43220 + r43222;
double r43224 = sqrt(r43223);
double r43225 = log(r43224);
double r43226 = 10.0;
double r43227 = log(r43226);
double r43228 = r43225 / r43227;
return r43228;
}
double f(double re, double im) {
double r43229 = im;
double r43230 = -2.9574832218065225e+136;
bool r43231 = r43229 <= r43230;
double r43232 = 1.0;
double r43233 = 10.0;
double r43234 = log(r43233);
double r43235 = sqrt(r43234);
double r43236 = r43232 / r43235;
double r43237 = r43232 / r43234;
double r43238 = sqrt(r43237);
double r43239 = re;
double r43240 = log(r43239);
double r43241 = r43238 * r43240;
double r43242 = r43236 * r43241;
double r43243 = -6.570997735276895e+56;
bool r43244 = r43229 <= r43243;
double r43245 = cbrt(r43235);
double r43246 = r43232 / r43245;
double r43247 = sqrt(r43246);
double r43248 = sqrt(r43236);
double r43249 = 3.0;
double r43250 = pow(r43248, r43249);
double r43251 = r43239 * r43239;
double r43252 = r43229 * r43229;
double r43253 = r43251 + r43252;
double r43254 = sqrt(r43253);
double r43255 = log(r43254);
double r43256 = r43250 * r43255;
double r43257 = r43247 * r43256;
double r43258 = r43245 * r43245;
double r43259 = r43232 / r43258;
double r43260 = sqrt(r43259);
double r43261 = r43257 * r43260;
double r43262 = -3.0545556871718285e+33;
bool r43263 = r43229 <= r43262;
double r43264 = -1.0;
double r43265 = r43264 / r43235;
double r43266 = r43264 / r43239;
double r43267 = log(r43266);
double r43268 = r43267 * r43238;
double r43269 = r43265 * r43268;
double r43270 = -4.843689540090472e-262;
bool r43271 = r43229 <= r43270;
double r43272 = 9.677784630305516e-234;
bool r43273 = r43229 <= r43272;
double r43274 = 3.867993196915089e-217;
bool r43275 = r43229 <= r43274;
double r43276 = r43267 / r43234;
double r43277 = -r43276;
double r43278 = pow(r43277, r43249);
double r43279 = cbrt(r43278);
double r43280 = 1.0098112259657446e-185;
bool r43281 = r43229 <= r43280;
double r43282 = r43240 / r43234;
double r43283 = pow(r43282, r43249);
double r43284 = cbrt(r43283);
double r43285 = 5.177363335544844e+86;
bool r43286 = r43229 <= r43285;
double r43287 = log(r43229);
double r43288 = r43287 * r43238;
double r43289 = r43248 * r43288;
double r43290 = r43248 * r43289;
double r43291 = r43286 ? r43261 : r43290;
double r43292 = r43281 ? r43284 : r43291;
double r43293 = r43275 ? r43279 : r43292;
double r43294 = r43273 ? r43242 : r43293;
double r43295 = r43271 ? r43261 : r43294;
double r43296 = r43263 ? r43269 : r43295;
double r43297 = r43244 ? r43261 : r43296;
double r43298 = r43231 ? r43242 : r43297;
return r43298;
}



Bits error versus re



Bits error versus im
Results
if im < -2.9574832218065225e+136 or -4.843689540090472e-262 < im < 9.677784630305516e-234Initial program 48.3
rmApplied add-sqr-sqrt48.3
Applied pow148.3
Applied log-pow48.3
Applied times-frac48.3
Taylor expanded around inf 46.9
Simplified46.9
if -2.9574832218065225e+136 < im < -6.570997735276895e+56 or -3.0545556871718285e+33 < im < -4.843689540090472e-262 or 1.0098112259657446e-185 < im < 5.177363335544844e+86Initial program 18.7
rmApplied add-sqr-sqrt18.7
Applied pow118.7
Applied log-pow18.7
Applied times-frac18.7
rmApplied add-sqr-sqrt18.7
Applied associate-*l*18.8
rmApplied add-cube-cbrt18.6
Applied add-cube-cbrt18.6
Applied times-frac18.6
Applied sqrt-prod18.6
Applied associate-*l*18.7
Simplified18.6
if -6.570997735276895e+56 < im < -3.0545556871718285e+33Initial program 24.8
rmApplied add-sqr-sqrt24.8
Applied pow124.8
Applied log-pow24.8
Applied times-frac24.8
Taylor expanded around -inf 44.1
Simplified44.1
if 9.677784630305516e-234 < im < 3.867993196915089e-217Initial program 30.2
rmApplied add-cbrt-cube30.6
Applied add-cbrt-cube30.5
Applied cbrt-undiv30.2
Simplified30.2
Taylor expanded around -inf 33.4
Simplified33.4
if 3.867993196915089e-217 < im < 1.0098112259657446e-185Initial program 35.5
rmApplied add-cbrt-cube35.9
Applied add-cbrt-cube35.8
Applied cbrt-undiv35.5
Simplified35.5
Taylor expanded around inf 34.9
if 5.177363335544844e+86 < im Initial program 48.4
rmApplied add-sqr-sqrt48.4
Applied pow148.4
Applied log-pow48.4
Applied times-frac48.4
rmApplied add-sqr-sqrt48.4
Applied associate-*l*48.4
Taylor expanded around 0 9.8
Final simplification24.9
herbie shell --seed 2019326
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))