\sqrt{re \cdot re + im \cdot im}\mathsf{hypot}\left(re, im\right)double f(double re, double im) {
double r742540 = re;
double r742541 = r742540 * r742540;
double r742542 = im;
double r742543 = r742542 * r742542;
double r742544 = r742541 + r742543;
double r742545 = sqrt(r742544);
return r742545;
}
double f(double re, double im) {
double r742546 = re;
double r742547 = im;
double r742548 = hypot(r742546, r742547);
return r742548;
}



Bits error versus re



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