re \cdot im + im \cdot re
re \cdot im + im \cdot re
double f(double re, double im) {
double r692 = re;
double r693 = im;
double r694 = r692 * r693;
double r695 = r693 * r692;
double r696 = r694 + r695;
return r696;
}
double f(double re, double im) {
double r697 = re;
double r698 = im;
double r699 = r697 * r698;
double r700 = r698 * r697;
double r701 = r699 + r700;
return r701;
}



Bits error versus re



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