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



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.5
rmApplied cos-sum_binary64_10660.3
rmApplied *-un-lft-identity_binary64_12160.3
Applied times-frac_binary64_12110.3
Simplified0.3
Simplified0.3
rmApplied div-inv_binary64_12170.4
Final simplification0.4
herbie shell --seed 2020231
(FPCore (r a b)
:name "rsin A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))