\frac{tdx \cdot dx + tdy \cdot dy}{sl2}\frac{tdx \cdot dx + tdy \cdot dy}{sl2}double code(double tdx, double dx, double tdy, double dy, double sl2) {
return ((double) (((double) (((double) (tdx * dx)) + ((double) (tdy * dy)))) / sl2));
}
double code(double tdx, double dx, double tdy, double dy, double sl2) {
return ((double) (((double) (((double) (tdx * dx)) + ((double) (tdy * dy)))) / sl2));
}



Bits error versus tdx



Bits error versus dx



Bits error versus tdy



Bits error versus dy



Bits error versus sl2
Results
Initial program 8.0
Final simplification8.0
herbie shell --seed 2020153
(FPCore (tdx dx tdy dy sl2)
:name "(/ (+ (* tdx dx) (* tdy dy)) sl2)"
:precision binary64
(/ (+ (* tdx dx) (* tdy dy)) sl2))