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 r53133 = x_re;
double r53134 = y_re;
double r53135 = r53133 * r53134;
double r53136 = x_im;
double r53137 = y_im;
double r53138 = r53136 * r53137;
double r53139 = r53135 - r53138;
return r53139;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r53140 = x_re;
double r53141 = y_re;
double r53142 = r53140 * r53141;
double r53143 = x_im;
double r53144 = y_im;
double r53145 = r53143 * r53144;
double r53146 = r53142 - r53145;
return r53146;
}



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