\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}double code(double x0, double x1, double y0, double y1, double z0, double z1) {
return ((double) (x0 / ((double) sqrt(((double) (((double) (((double) (x0 * x1)) + ((double) (y0 * y1)))) + ((double) (z0 * z1))))))));
}
double code(double x0, double x1, double y0, double y1, double z0, double z1) {
return ((double) (x0 / ((double) sqrt(((double) (((double) (((double) (x0 * x1)) + ((double) (y0 * y1)))) + ((double) (z0 * z1))))))));
}



Bits error versus x0



Bits error versus x1



Bits error versus y0



Bits error versus y1



Bits error versus z0



Bits error versus z1
Results
Initial program 15.9
Final simplification15.9
herbie shell --seed 2020152
(FPCore (x0 x1 y0 y1 z0 z1)
:name "(/ x0 (sqrt (+ (+ (* x0 x1) (* y0 y1)) (* z0 z1))))"
:precision binary64
(/ x0 (sqrt (+ (+ (* x0 x1) (* y0 y1)) (* z0 z1)))))