\cos a1 \cdot \sin a2 - \sin a1 \cdot \cos a2
\cos a1 \cdot \sin a2 - \sin a1 \cdot \cos a2
double code(double a1, double a2) {
return ((double) (((double) (((double) cos(a1)) * ((double) sin(a2)))) - ((double) (((double) sin(a1)) * ((double) cos(a2))))));
}
double code(double a1, double a2) {
return ((double) (((double) (((double) cos(a1)) * ((double) sin(a2)))) - ((double) (((double) sin(a1)) * ((double) cos(a2))))));
}



Bits error versus a1



Bits error versus a2
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2020153
(FPCore (a1 a2)
:name "(- (* (cos a1) (sin a2)) (* (sin a1) (cos a2)))"
:precision binary64
(- (* (cos a1) (sin a2)) (* (sin a1) (cos a2))))