re \cdot im + im \cdot re
re \cdot im + im \cdot re
double f(double re, double im) {
double r1291 = re;
double r1292 = im;
double r1293 = r1291 * r1292;
double r1294 = r1292 * r1291;
double r1295 = r1293 + r1294;
return r1295;
}
double f(double re, double im) {
double r1296 = re;
double r1297 = im;
double r1298 = r1296 * r1297;
double r1299 = r1297 * r1296;
double r1300 = r1298 + r1299;
return r1300;
}



Bits error versus re



Bits error versus im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020089
(FPCore (re im)
:name "math.square on complex, imaginary part"
:precision binary64
(+ (* re im) (* im re)))