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 r110402 = x_re;
double r110403 = y_re;
double r110404 = r110402 * r110403;
double r110405 = x_im;
double r110406 = y_im;
double r110407 = r110405 * r110406;
double r110408 = r110404 - r110407;
return r110408;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r110409 = x_re;
double r110410 = y_re;
double r110411 = r110409 * r110410;
double r110412 = x_im;
double r110413 = y_im;
double r110414 = r110412 * r110413;
double r110415 = r110411 - r110414;
return r110415;
}



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