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



Bits error versus re



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