\frac{r \cdot \sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sin b \cdot \sin a}(FPCore (r a b) :precision binary64 (/ (* r (sin b)) (cos (+ a b))))
(FPCore (r a b) :precision binary64 (* r (/ (sin b) (- (* (cos a) (cos b)) (* (sin b) (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) (r * (((double) sin(b)) / ((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 *-un-lft-identityError: 0.3 bits
Applied times-fracError: 0.3 bits
SimplifiedError: 0.3 bits
SimplifiedError: 0.3 bits
Final simplificationError: 0.3 bits
herbie shell --seed 2020205
(FPCore (r a b)
:name "rsin A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))