double f(double r, double a, double b) {
double r1086915 = r;
double r1086916 = b;
double r1086917 = sin(r1086916);
double r1086918 = r1086915 * r1086917;
double r1086919 = a;
double r1086920 = r1086919 + r1086916;
double r1086921 = cos(r1086920);
double r1086922 = r1086918 / r1086921;
return r1086922;
}
double f(double r, double a, double b) {
double r1086923 = r;
double r1086924 = b;
double r1086925 = sin(r1086924);
double r1086926 = r1086923 * r1086925;
double r1086927 = a;
double r1086928 = cos(r1086927);
double r1086929 = cos(r1086924);
double r1086930 = r1086928 * r1086929;
double r1086931 = sin(r1086927);
double r1086932 = r1086925 * r1086931;
double r1086933 = r1086930 - r1086932;
double r1086934 = r1086926 / r1086933;
return r1086934;
}
\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\cos a \cdot \cos b - \sin b \cdot \sin a}


Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.1
rmApplied cos-sum0.3
rmApplied expm1-log1p-u0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied associate-*r/0.3
Final simplification0.3
herbie shell --seed 2019101 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
(/ (* r (sin b)) (cos (+ a b))))