re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r8326 = re;
double r8327 = r8326 * r8326;
double r8328 = im;
double r8329 = r8328 * r8328;
double r8330 = r8327 - r8329;
return r8330;
}
double f(double re, double im) {
double r8331 = re;
double r8332 = r8331 * r8331;
double r8333 = im;
double r8334 = r8333 * r8333;
double r8335 = r8332 - r8334;
return r8335;
}



Bits error versus re



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