\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -2.43118792921916 \cdot 10^{+130}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\
\mathbf{elif}\;re \le -3.728827270067989 \cdot 10^{-149}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\
\mathbf{elif}\;re \le 2.2227425620548795 \cdot 10^{-224}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(2 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log im\right)\right)\\
\mathbf{elif}\;re \le 3.234258935041209 \cdot 10^{+99}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\log re \cdot 2\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\
\end{array}double f(double re, double im) {
double r828212 = re;
double r828213 = r828212 * r828212;
double r828214 = im;
double r828215 = r828214 * r828214;
double r828216 = r828213 + r828215;
double r828217 = sqrt(r828216);
double r828218 = log(r828217);
double r828219 = 10.0;
double r828220 = log(r828219);
double r828221 = r828218 / r828220;
return r828221;
}
double f(double re, double im) {
double r828222 = re;
double r828223 = -2.43118792921916e+130;
bool r828224 = r828222 <= r828223;
double r828225 = 0.5;
double r828226 = 10.0;
double r828227 = log(r828226);
double r828228 = sqrt(r828227);
double r828229 = r828225 / r828228;
double r828230 = 1.0;
double r828231 = r828230 / r828227;
double r828232 = sqrt(r828231);
double r828233 = -1.0;
double r828234 = r828233 / r828222;
double r828235 = log(r828234);
double r828236 = r828232 * r828235;
double r828237 = -2.0;
double r828238 = r828236 * r828237;
double r828239 = r828229 * r828238;
double r828240 = -3.728827270067989e-149;
bool r828241 = r828222 <= r828240;
double r828242 = cbrt(r828225);
double r828243 = r828242 * r828242;
double r828244 = sqrt(r828228);
double r828245 = r828243 / r828244;
double r828246 = r828222 * r828222;
double r828247 = im;
double r828248 = r828247 * r828247;
double r828249 = r828246 + r828248;
double r828250 = log(r828249);
double r828251 = r828250 / r828228;
double r828252 = r828242 / r828244;
double r828253 = r828251 * r828252;
double r828254 = r828245 * r828253;
double r828255 = 2.2227425620548795e-224;
bool r828256 = r828222 <= r828255;
double r828257 = 2.0;
double r828258 = log(r828247);
double r828259 = r828232 * r828258;
double r828260 = r828257 * r828259;
double r828261 = r828229 * r828260;
double r828262 = 3.234258935041209e+99;
bool r828263 = r828222 <= r828262;
double r828264 = log(r828222);
double r828265 = r828264 * r828257;
double r828266 = r828265 * r828232;
double r828267 = r828266 * r828229;
double r828268 = r828263 ? r828254 : r828267;
double r828269 = r828256 ? r828261 : r828268;
double r828270 = r828241 ? r828254 : r828269;
double r828271 = r828224 ? r828239 : r828270;
return r828271;
}



Bits error versus re



Bits error versus im
Results
if re < -2.43118792921916e+130Initial program 56.2
rmApplied add-sqr-sqrt56.2
Applied pow156.2
Applied sqrt-pow156.2
Applied log-pow56.2
Applied times-frac56.2
Simplified56.2
Taylor expanded around -inf 8.2
if -2.43118792921916e+130 < re < -3.728827270067989e-149 or 2.2227425620548795e-224 < re < 3.234258935041209e+99Initial program 17.3
rmApplied add-sqr-sqrt17.3
Applied pow117.3
Applied sqrt-pow117.3
Applied log-pow17.3
Applied times-frac17.2
Simplified17.2
rmApplied add-sqr-sqrt17.2
Applied sqrt-prod17.8
Applied add-cube-cbrt17.2
Applied times-frac17.2
Applied associate-*l*17.1
if -3.728827270067989e-149 < re < 2.2227425620548795e-224Initial program 30.4
rmApplied add-sqr-sqrt30.4
Applied pow130.4
Applied sqrt-pow130.4
Applied log-pow30.4
Applied times-frac30.3
Simplified30.3
Taylor expanded around 0 35.0
if 3.234258935041209e+99 < re Initial program 50.1
rmApplied add-sqr-sqrt50.1
Applied pow150.1
Applied sqrt-pow150.1
Applied log-pow50.1
Applied times-frac50.1
Simplified50.1
Taylor expanded around inf 8.9
Simplified8.9
Final simplification18.0
herbie shell --seed 2019130
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))