\left(\left(r1 \cdot q1 - r2 \cdot q2\right) - r3 \cdot q3\right) - r4 \cdot q4
\left(\left(r1 \cdot q1 - r2 \cdot q2\right) - r3 \cdot q3\right) - r4 \cdot q4
double code(double r1, double q1, double r2, double q2, double r3, double q3, double r4, double q4) {
return ((double) (((double) (((double) (((double) (r1 * q1)) - ((double) (r2 * q2)))) - ((double) (r3 * q3)))) - ((double) (r4 * q4))));
}
double code(double r1, double q1, double r2, double q2, double r3, double q3, double r4, double q4) {
return ((double) (((double) (((double) (((double) (r1 * q1)) - ((double) (r2 * q2)))) - ((double) (r3 * q3)))) - ((double) (r4 * q4))));
}



Bits error versus r1



Bits error versus q1



Bits error versus r2



Bits error versus q2



Bits error versus r3



Bits error versus q3



Bits error versus r4



Bits error versus q4
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (r1 q1 r2 q2 r3 q3 r4 q4)
:name "(- (- (- (* r1 q1) (* r2 q2)) (* r3 q3)) (* r4 q4))"
:precision binary64
(- (- (- (* r1 q1) (* r2 q2)) (* r3 q3)) (* r4 q4)))