r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r}{\mathsf{fma}\left(\cos a, \frac{\cos b}{\sin b}, -\sin a\right)}double f(double r, double a, double b) {
double r905811 = r;
double r905812 = b;
double r905813 = sin(r905812);
double r905814 = a;
double r905815 = r905814 + r905812;
double r905816 = cos(r905815);
double r905817 = r905813 / r905816;
double r905818 = r905811 * r905817;
return r905818;
}
double f(double r, double a, double b) {
double r905819 = r;
double r905820 = a;
double r905821 = cos(r905820);
double r905822 = b;
double r905823 = cos(r905822);
double r905824 = sin(r905822);
double r905825 = r905823 / r905824;
double r905826 = sin(r905820);
double r905827 = -r905826;
double r905828 = fma(r905821, r905825, r905827);
double r905829 = r905819 / r905828;
return r905829;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 14.8
rmApplied cos-sum0.3
rmApplied *-un-lft-identity0.3
Applied associate-*l*0.3
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.4
Applied fma-neg0.4
Final simplification0.4
herbie shell --seed 2019163 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))