re \cdot im + im \cdot re
re \cdot im + re \cdot im
double f(double re, double im) {
double r174799 = re;
double r174800 = im;
double r174801 = r174799 * r174800;
double r174802 = r174800 * r174799;
double r174803 = r174801 + r174802;
return r174803;
}
double f(double re, double im) {
double r174804 = re;
double r174805 = im;
double r174806 = r174804 * r174805;
double r174807 = r174806 + r174806;
return r174807;
}



Bits error versus re



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