\sqrt{re \cdot re + im \cdot im}\mathsf{hypot}\left(re, im\right)double f(double re, double im) {
double r529352 = re;
double r529353 = r529352 * r529352;
double r529354 = im;
double r529355 = r529354 * r529354;
double r529356 = r529353 + r529355;
double r529357 = sqrt(r529356);
return r529357;
}
double f(double re, double im) {
double r529358 = re;
double r529359 = im;
double r529360 = hypot(r529358, r529359);
return r529360;
}



Bits error versus re



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