re \cdot re - im \cdot im
re \cdot re - im \cdot im
double f(double re, double im) {
double r113613 = re;
double r113614 = r113613 * r113613;
double r113615 = im;
double r113616 = r113615 * r113615;
double r113617 = r113614 - r113616;
return r113617;
}
double f(double re, double im) {
double r113618 = re;
double r113619 = r113618 * r113618;
double r113620 = im;
double r113621 = r113620 * r113620;
double r113622 = r113619 - r113621;
return r113622;
}



Bits error versus re



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