\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r}{\cos b \cdot \frac{\cos a}{\sin b} - \sin a}(FPCore (r a b) :precision binary64 (/ (* r (sin b)) (cos (+ a b))))
(FPCore (r a b) :precision binary64 (/ r (- (* (cos b) (/ (cos a) (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 (r / ((double) (((double) (((double) cos(b)) * (((double) cos(a)) / ((double) sin(b))))) - ((double) sin(a)))));
}



Bits error versus r



Bits error versus a



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