r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r}{\cos a \cdot \frac{\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 r * (sin(b) / cos(a + b));
}
double code(double r, double a, double b) {
return r / ((cos(a) * (cos(b) / sin(b))) - sin(a));
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.3
rmApplied cos-sum_binary64_5450.3
Taylor expanded around inf 0.3
Simplified0.4
rmApplied *-un-lft-identity_binary64_4140.4
Applied times-frac_binary64_4200.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020292
(FPCore (r a b)
:name "rsin B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))