\sqrt{re \cdot re + im \cdot im}\sqrt{re^2 + im^2}^*double f(double re, double im) {
double r4509178 = re;
double r4509179 = r4509178 * r4509178;
double r4509180 = im;
double r4509181 = r4509180 * r4509180;
double r4509182 = r4509179 + r4509181;
double r4509183 = sqrt(r4509182);
return r4509183;
}
double f(double re, double im) {
double r4509184 = re;
double r4509185 = im;
double r4509186 = hypot(r4509184, r4509185);
return r4509186;
}



Bits error versus re



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