double f(double re, double im) {
double r490667 = re;
double r490668 = r490667 * r490667;
double r490669 = im;
double r490670 = r490669 * r490669;
double r490671 = r490668 + r490670;
double r490672 = sqrt(r490671);
return r490672;
}
double f(double re, double im) {
double r490673 = re;
double r490674 = im;
double r490675 = hypot(r490673, r490674);
return r490675;
}
\sqrt{re \cdot re + im \cdot im}\sqrt{re^2 + im^2}^*


Bits error versus re



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