Average Error: 0.1 → 0.1
Time: 2.0s
Precision: binary64
\[\cos angle \cdot dx - \sin angle \cdot dy\]
\[\cos angle \cdot dx - \sin angle \cdot dy\]
\cos angle \cdot dx - \sin angle \cdot dy
\cos angle \cdot dx - \sin angle \cdot dy
double code(double angle, double dx, double dy) {
	return ((double) (((double) (((double) cos(angle)) * dx)) - ((double) (((double) sin(angle)) * dy))));
}
double code(double angle, double dx, double dy) {
	return ((double) (((double) (((double) cos(angle)) * dx)) - ((double) (((double) sin(angle)) * dy))));
}

Error

Bits error versus angle

Bits error versus dx

Bits error versus dy

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\cos angle \cdot dx - \sin angle \cdot dy\]
  2. Final simplification0.1

    \[\leadsto \cos angle \cdot dx - \sin angle \cdot dy\]

Reproduce

herbie shell --seed 2020153 
(FPCore (angle dx dy)
  :name "(- (* (cos angle) dx) (* (sin angle) dy))"
  :precision binary64
  (- (* (cos angle) dx) (* (sin angle) dy)))