re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r54573 = re;
double r54574 = r54573 * r54573;
double r54575 = im;
double r54576 = r54575 * r54575;
double r54577 = r54574 - r54576;
return r54577;
}
double f(double re, double im) {
double r54578 = re;
double r54579 = r54578 * r54578;
double r54580 = im;
double r54581 = r54580 * r54580;
double r54582 = r54579 - r54581;
return r54582;
}



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)))