r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(\sin b \cdot r\right) \cdot \frac{1}{\cos a \cdot \cos b - \sin b \cdot \sin a}double code(double r, double a, double b) {
return ((double) (r * (((double) sin(b)) / ((double) cos(((double) (a + b)))))));
}
double code(double r, double a, double b) {
return ((double) (((double) (((double) sin(b)) * r)) * (1.0 / ((double) (((double) (((double) cos(a)) * ((double) cos(b)))) - ((double) (((double) sin(b)) * ((double) sin(a)))))))));
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program Error: 14.9 bits
rmApplied cos-sumError: 0.3 bits
rmApplied div-invError: 0.4 bits
Applied associate-*r*Error: 0.4 bits
SimplifiedError: 0.4 bits
Final simplificationError: 0.4 bits
herbie shell --seed 2020200
(FPCore (r a b)
:name "rsin B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))