\frac{r \cdot \sin b}{\cos \left(a + b\right)}\left(r \cdot \sin b\right) \cdot \frac{1}{\mathsf{fma}\left(\sin b, -\sin a, \cos b \cdot \cos a\right)}double f(double r, double a, double b) {
double r24909 = r;
double r24910 = b;
double r24911 = sin(r24910);
double r24912 = r24909 * r24911;
double r24913 = a;
double r24914 = r24913 + r24910;
double r24915 = cos(r24914);
double r24916 = r24912 / r24915;
return r24916;
}
double f(double r, double a, double b) {
double r24917 = r;
double r24918 = b;
double r24919 = sin(r24918);
double r24920 = r24917 * r24919;
double r24921 = 1.0;
double r24922 = a;
double r24923 = sin(r24922);
double r24924 = -r24923;
double r24925 = cos(r24918);
double r24926 = cos(r24922);
double r24927 = r24925 * r24926;
double r24928 = fma(r24919, r24924, r24927);
double r24929 = r24921 / r24928;
double r24930 = r24920 * r24929;
return r24930;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 14.7
rmApplied cos-sum0.3
Taylor expanded around inf 0.3
Simplified0.3
rmApplied div-inv0.4
Final simplification0.4
herbie shell --seed 2019323 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))