r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r}{\frac{\cos a \cdot \cos b}{\sin b} - \sin a}(FPCore (r a b) :precision binary64 (* r (/ (sin b) (cos (+ a b)))))
(FPCore (r a b) :precision binary64 (/ r (- (/ (* (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 (r / ((double) ((((double) (((double) cos(a)) * ((double) cos(b)))) / ((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
Taylor expanded around inf Error: 0.3 bits
SimplifiedError: 0.4 bits
Final simplificationError: 0.4 bits
herbie shell --seed 2020205
(FPCore (r a b)
:name "rsin B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))