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 r102433 = x_re;
double r102434 = y_re;
double r102435 = r102433 * r102434;
double r102436 = x_im;
double r102437 = y_im;
double r102438 = r102436 * r102437;
double r102439 = r102435 - r102438;
return r102439;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r102440 = x_re;
double r102441 = y_re;
double r102442 = r102440 * r102441;
double r102443 = x_im;
double r102444 = y_im;
double r102445 = r102443 * r102444;
double r102446 = r102442 - r102445;
return r102446;
}



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 2019318
(FPCore (x.re x.im y.re y.im)
:name "_multiplyComplex, real part"
:precision binary64
(- (* x.re y.re) (* x.im y.im)))