double f(double re, double im) {
double r1791408 = re;
double r1791409 = r1791408 * r1791408;
double r1791410 = im;
double r1791411 = r1791410 * r1791410;
double r1791412 = r1791409 + r1791411;
double r1791413 = sqrt(r1791412);
return r1791413;
}
double f(double re, double im) {
double r1791414 = re;
double r1791415 = im;
double r1791416 = hypot(r1791414, r1791415);
return r1791416;
}
\sqrt{re \cdot re + im \cdot im}\sqrt{re^2 + im^2}^*


Bits error versus re



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