re \cdot im + im \cdot re
re \cdot im + re \cdot im
double f(double re, double im) {
double r153830 = re;
double r153831 = im;
double r153832 = r153830 * r153831;
double r153833 = r153831 * r153830;
double r153834 = r153832 + r153833;
return r153834;
}
double f(double re, double im) {
double r153835 = re;
double r153836 = im;
double r153837 = r153835 * r153836;
double r153838 = r153837 + r153837;
return r153838;
}



Bits error versus re



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