\frac{\left(\frac{\left(x.re \cdot y.re\right)}{\left(x.im \cdot y.im\right)}\right)}{\left(\frac{\left(y.re \cdot y.re\right)}{\left(y.im \cdot y.im\right)}\right)}\frac{x.re \cdot y.re + x.im \cdot y.im}{y.re \cdot y.re + y.im \cdot y.im}double f(double x_re, double x_im, double y_re, double y_im) {
double r331164 = x_re;
double r331165 = y_re;
double r331166 = r331164 * r331165;
double r331167 = x_im;
double r331168 = y_im;
double r331169 = r331167 * r331168;
double r331170 = r331166 + r331169;
double r331171 = r331165 * r331165;
double r331172 = r331168 * r331168;
double r331173 = r331171 + r331172;
double r331174 = r331170 / r331173;
return r331174;
}
double f(double x_re, double x_im, double y_re, double y_im) {
double r331175 = x_re;
double r331176 = y_re;
double r331177 = r331175 * r331176;
double r331178 = x_im;
double r331179 = y_im;
double r331180 = r331178 * r331179;
double r331181 = r331177 + r331180;
double r331182 = r331176 * r331176;
double r331183 = r331179 * r331179;
double r331184 = r331182 + r331183;
double r331185 = r331181 / r331184;
return r331185;
}



Bits error versus x.re



Bits error versus x.im



Bits error versus y.re



Bits error versus y.im
Initial program 1.1
Final simplification1.1
herbie shell --seed 2019119
(FPCore (x.re x.im y.re y.im)
:name "_divideComplex, real part"
(/.p16 (+.p16 (*.p16 x.re y.re) (*.p16 x.im y.im)) (+.p16 (*.p16 y.re y.re) (*.p16 y.im y.im))))