Average Error: 8.0 → 8.0
Time: 1.3s
Precision: binary64
\[\frac{tdx \cdot dx + tdy \cdot dy}{sl2}\]
\[\frac{tdx \cdot dx + tdy \cdot dy}{sl2}\]
\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));
}

Error

Bits error versus tdx

Bits error versus dx

Bits error versus tdy

Bits error versus dy

Bits error versus sl2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 8.0

    \[\frac{tdx \cdot dx + tdy \cdot dy}{sl2}\]
  2. Final simplification8.0

    \[\leadsto \frac{tdx \cdot dx + tdy \cdot dy}{sl2}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (tdx dx tdy dy sl2)
  :name "(/ (+ (* tdx dx) (* tdy dy)) sl2)"
  :precision binary64
  (/ (+ (* tdx dx) (* tdy dy)) sl2))