x.re \cdot y.re - x.im \cdot y.im
x.re \cdot y.re - x.im \cdot y.im
double f(double x_re, double x_im, double y_re, double y_im) {
double r110514 = x_re;
double r110515 = y_re;
double r110516 = r110514 * r110515;
double r110517 = x_im;
double r110518 = y_im;
double r110519 = r110517 * r110518;
double r110520 = r110516 - r110519;
return r110520;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r110521 = x_re;
double r110522 = y_re;
double r110523 = r110521 * r110522;
double r110524 = x_im;
double r110525 = y_im;
double r110526 = r110524 * r110525;
double r110527 = r110523 - r110526;
return r110527;
}



Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020039
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, real part"
:precision binary64
(- (* x.re y.re) (* x.im y.im)))