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 r905808 = r;
double r905809 = b;
double r905810 = sin(r905809);
double r905811 = a;
double r905812 = r905811 + r905809;
double r905813 = cos(r905812);
double r905814 = r905810 / r905813;
double r905815 = r905808 * r905814;
return r905815;
}
double f(double r, double a, double b) {
double r905816 = r;
double r905817 = a;
double r905818 = cos(r905817);
double r905819 = b;
double r905820 = cos(r905819);
double r905821 = sin(r905819);
double r905822 = r905820 / r905821;
double r905823 = sin(r905817);
double r905824 = -r905823;
double r905825 = fma(r905818, r905822, r905824);
double r905826 = r905816 / r905825;
return r905826;
}



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)))))