re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r8057 = re;
double r8058 = r8057 * r8057;
double r8059 = im;
double r8060 = r8059 * r8059;
double r8061 = r8058 - r8060;
return r8061;
}
double f(double re, double im) {
double r8062 = re;
double r8063 = r8062 * r8062;
double r8064 = im;
double r8065 = r8064 * r8064;
double r8066 = r8063 - r8065;
return r8066;
}



Bits error versus re



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