x \cdot \cos a - y \cdot \sin a
x \cdot \cos a - y \cdot \sin a
double code(double x, double a, double y) {
return ((double) (((double) (x * ((double) cos(a)))) - ((double) (y * ((double) sin(a))))));
}
double code(double x, double a, double y) {
return ((double) (((double) (x * ((double) cos(a)))) - ((double) (y * ((double) sin(a))))));
}



Bits error versus x



Bits error versus a



Bits error versus y
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (x a y)
:name "(- (* x (cos a)) (* y (sin a)))"
:precision binary64
(- (* x (cos a)) (* y (sin a))))