\log \left(\sqrt{re \cdot re + im \cdot im}\right)\log \left(\mathsf{hypot}\left(re, im\right)\right)double f(double re, double im) {
double r627356 = re;
double r627357 = r627356 * r627356;
double r627358 = im;
double r627359 = r627358 * r627358;
double r627360 = r627357 + r627359;
double r627361 = sqrt(r627360);
double r627362 = log(r627361);
return r627362;
}
double f(double re, double im) {
double r627363 = re;
double r627364 = im;
double r627365 = hypot(r627363, r627364);
double r627366 = log(r627365);
return r627366;
}



Bits error versus re



Bits error versus im
Results
Initial program 30.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019152 +o rules:numerics
(FPCore (re im)
:name "math.log/1 on complex, real part"
(log (sqrt (+ (* re re) (* im im)))))