re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r794000 = re;
double r794001 = r794000 * r794000;
double r794002 = im;
double r794003 = r794002 * r794002;
double r794004 = r794001 - r794003;
return r794004;
}
double f(double re, double im) {
double r794005 = re;
double r794006 = r794005 * r794005;
double r794007 = im;
double r794008 = r794007 * r794007;
double r794009 = r794006 - r794008;
return r794009;
}



Bits error versus re



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