\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -1.7109531485520302 \cdot 10^{+90}:\\
\;\;\;\;\left(\left(\log \left(\frac{-1}{re}\right) \cdot -2\right) \cdot \frac{1}{\sqrt{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\
\mathbf{elif}\;re \le -5.7290891404837934 \cdot 10^{-198}:\\
\;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\
\mathbf{elif}\;re \le -6.376038522303672 \cdot 10^{-268}:\\
\;\;\;\;\left(\frac{\log im + \log im}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\
\mathbf{elif}\;re \le 1.7061266383920343 \cdot 10^{+78}:\\
\;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\log re + \log re}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10}}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10} \cdot \sqrt[3]{\log 10}}}\\
\end{array}double f(double re, double im) {
double r1292030 = re;
double r1292031 = r1292030 * r1292030;
double r1292032 = im;
double r1292033 = r1292032 * r1292032;
double r1292034 = r1292031 + r1292033;
double r1292035 = sqrt(r1292034);
double r1292036 = log(r1292035);
double r1292037 = 10.0;
double r1292038 = log(r1292037);
double r1292039 = r1292036 / r1292038;
return r1292039;
}
double f(double re, double im) {
double r1292040 = re;
double r1292041 = -1.7109531485520302e+90;
bool r1292042 = r1292040 <= r1292041;
double r1292043 = -1.0;
double r1292044 = r1292043 / r1292040;
double r1292045 = log(r1292044);
double r1292046 = -2.0;
double r1292047 = r1292045 * r1292046;
double r1292048 = 1.0;
double r1292049 = 10.0;
double r1292050 = log(r1292049);
double r1292051 = sqrt(r1292050);
double r1292052 = r1292048 / r1292051;
double r1292053 = r1292047 * r1292052;
double r1292054 = 0.5;
double r1292055 = r1292054 / r1292051;
double r1292056 = r1292053 * r1292055;
double r1292057 = -5.7290891404837934e-198;
bool r1292058 = r1292040 <= r1292057;
double r1292059 = cbrt(r1292054);
double r1292060 = cbrt(r1292050);
double r1292061 = sqrt(r1292060);
double r1292062 = r1292059 / r1292061;
double r1292063 = r1292040 * r1292040;
double r1292064 = im;
double r1292065 = r1292064 * r1292064;
double r1292066 = r1292063 + r1292065;
double r1292067 = log(r1292066);
double r1292068 = r1292067 / r1292051;
double r1292069 = r1292062 * r1292068;
double r1292070 = r1292059 * r1292059;
double r1292071 = r1292060 * r1292060;
double r1292072 = sqrt(r1292071);
double r1292073 = r1292070 / r1292072;
double r1292074 = r1292069 * r1292073;
double r1292075 = -6.376038522303672e-268;
bool r1292076 = r1292040 <= r1292075;
double r1292077 = log(r1292064);
double r1292078 = r1292077 + r1292077;
double r1292079 = r1292078 / r1292051;
double r1292080 = r1292079 * r1292062;
double r1292081 = r1292080 * r1292073;
double r1292082 = 1.7061266383920343e+78;
bool r1292083 = r1292040 <= r1292082;
double r1292084 = r1292052 * r1292067;
double r1292085 = r1292084 * r1292055;
double r1292086 = log(r1292040);
double r1292087 = r1292086 + r1292086;
double r1292088 = r1292087 / r1292051;
double r1292089 = r1292088 * r1292062;
double r1292090 = r1292089 * r1292073;
double r1292091 = r1292083 ? r1292085 : r1292090;
double r1292092 = r1292076 ? r1292081 : r1292091;
double r1292093 = r1292058 ? r1292074 : r1292092;
double r1292094 = r1292042 ? r1292056 : r1292093;
return r1292094;
}



Bits error versus re



Bits error versus im
Results
if re < -1.7109531485520302e+90Initial program 48.4
rmApplied add-sqr-sqrt48.4
Applied pow1/248.4
Applied log-pow48.4
Applied times-frac48.4
rmApplied div-inv48.3
Taylor expanded around -inf 8.9
Simplified8.9
if -1.7109531485520302e+90 < re < -5.7290891404837934e-198Initial program 18.0
rmApplied add-sqr-sqrt18.0
Applied pow1/218.0
Applied log-pow18.0
Applied times-frac17.9
rmApplied div-inv17.8
rmApplied add-cube-cbrt18.3
Applied sqrt-prod18.3
Applied add-cube-cbrt17.8
Applied times-frac18.2
Applied associate-*l*18.0
Simplified17.9
if -5.7290891404837934e-198 < re < -6.376038522303672e-268Initial program 29.7
rmApplied add-sqr-sqrt29.7
Applied pow1/229.7
Applied log-pow29.7
Applied times-frac29.7
rmApplied div-inv29.6
rmApplied add-cube-cbrt30.0
Applied sqrt-prod30.0
Applied add-cube-cbrt29.6
Applied times-frac29.8
Applied associate-*l*29.7
Simplified29.6
Taylor expanded around 0 34.9
Simplified34.9
if -6.376038522303672e-268 < re < 1.7061266383920343e+78Initial program 22.5
rmApplied add-sqr-sqrt22.5
Applied pow1/222.5
Applied log-pow22.5
Applied times-frac22.5
rmApplied div-inv22.4
if 1.7061266383920343e+78 < re Initial program 46.5
rmApplied add-sqr-sqrt46.5
Applied pow1/246.5
Applied log-pow46.5
Applied times-frac46.4
rmApplied div-inv46.4
rmApplied add-cube-cbrt46.6
Applied sqrt-prod46.6
Applied add-cube-cbrt46.4
Applied times-frac46.5
Applied associate-*l*46.5
Simplified46.4
Taylor expanded around inf 10.7
Simplified10.7
Final simplification17.4
herbie shell --seed 2019162
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))