re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r9912 = re;
double r9913 = r9912 * r9912;
double r9914 = im;
double r9915 = r9914 * r9914;
double r9916 = r9913 - r9915;
return r9916;
}
double f(double re, double im) {
double r9917 = re;
double r9918 = r9917 * r9917;
double r9919 = im;
double r9920 = r9919 * r9919;
double r9921 = r9918 - r9920;
return r9921;
}



Bits error versus re



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