\sqrt{re \cdot re + im \cdot im}\mathsf{hypot}\left(re, im\right)double f(double re, double im) {
double r2499717 = re;
double r2499718 = r2499717 * r2499717;
double r2499719 = im;
double r2499720 = r2499719 * r2499719;
double r2499721 = r2499718 + r2499720;
double r2499722 = sqrt(r2499721);
return r2499722;
}
double f(double re, double im) {
double r2499723 = re;
double r2499724 = im;
double r2499725 = hypot(r2499723, r2499724);
return r2499725;
}



Bits error versus re



Bits error versus im
Results
Initial program 30.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019142 +o rules:numerics
(FPCore (re im)
:name "math.abs on complex"
(sqrt (+ (* re re) (* im im))))