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 r45121 = x_re;
double r45122 = y_re;
double r45123 = r45121 * r45122;
double r45124 = x_im;
double r45125 = y_im;
double r45126 = r45124 * r45125;
double r45127 = r45123 - r45126;
return r45127;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r45128 = x_re;
double r45129 = y_re;
double r45130 = r45128 * r45129;
double r45131 = x_im;
double r45132 = y_im;
double r45133 = r45131 * r45132;
double r45134 = r45130 - r45133;
return r45134;
}



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