\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}double code(double x, double ax, double bx, double ay, double by, double az, double bz) {
return ((double) (x / ((double) sqrt(((double) (((double) (((double) (ax * bx)) + ((double) (ay * by)))) + ((double) (az * bz))))))));
}
double code(double x, double ax, double bx, double ay, double by, double az, double bz) {
return ((double) (x / ((double) sqrt(((double) (((double) (((double) (ax * bx)) + ((double) (ay * by)))) + ((double) (az * bz))))))));
}



Bits error versus x



Bits error versus ax



Bits error versus bx



Bits error versus ay



Bits error versus by



Bits error versus az



Bits error versus bz
Results
Initial program 14.9
Final simplification14.9
herbie shell --seed 2020153
(FPCore (x ax bx ay by az bz)
:name "(/ x (sqrt (+ (+ (* ax bx) (* ay by)) (* az bz))))"
:precision binary64
(/ x (sqrt (+ (+ (* ax bx) (* ay by)) (* az bz)))))