\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5
\left(\left(\left(\left(1 - x1 \cdot y1\right) - x2 \cdot y2\right) - x3 \cdot y3\right) - x4 \cdot y4\right) - x5 \cdot y5
double code(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x5, double y5) {
return ((double) (((double) (((double) (((double) (((double) (1.0 - ((double) (x1 * y1)))) - ((double) (x2 * y2)))) - ((double) (x3 * y3)))) - ((double) (x4 * y4)))) - ((double) (x5 * y5))));
}
double code(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4, double x5, double y5) {
return ((double) (((double) (((double) (((double) (((double) (1.0 - ((double) (x1 * y1)))) - ((double) (x2 * y2)))) - ((double) (x3 * y3)))) - ((double) (x4 * y4)))) - ((double) (x5 * y5))));
}



Bits error versus x1



Bits error versus y1



Bits error versus x2



Bits error versus y2



Bits error versus x3



Bits error versus y3



Bits error versus x4



Bits error versus y4



Bits error versus x5



Bits error versus y5
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (x1 y1 x2 y2 x3 y3 x4 y4 x5 y5)
:name "(- (- (- (- (- 1 (* x1 y1)) (* x2 y2)) (* x3 y3)) (* x4 y4)) (* x5 y5))"
:precision binary64
(- (- (- (- (- 1.0 (* x1 y1)) (* x2 y2)) (* x3 y3)) (* x4 y4)) (* x5 y5)))