\frac{r \cdot \sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left|\sin a \cdot \sin b\right| \cdot \left|\sin a \cdot \sin b\right|}{\cos a \cdot \cos b + \sin a \cdot \sin b}}double f(double r, double a, double b) {
double r20714 = r;
double r20715 = b;
double r20716 = sin(r20715);
double r20717 = r20714 * r20716;
double r20718 = a;
double r20719 = r20718 + r20715;
double r20720 = cos(r20719);
double r20721 = r20717 / r20720;
return r20721;
}
double f(double r, double a, double b) {
double r20722 = r;
double r20723 = b;
double r20724 = sin(r20723);
double r20725 = a;
double r20726 = cos(r20725);
double r20727 = cos(r20723);
double r20728 = r20726 * r20727;
double r20729 = r20728 * r20728;
double r20730 = sin(r20725);
double r20731 = r20730 * r20724;
double r20732 = fabs(r20731);
double r20733 = r20732 * r20732;
double r20734 = r20729 - r20733;
double r20735 = r20728 + r20731;
double r20736 = r20734 / r20735;
double r20737 = r20724 / r20736;
double r20738 = r20722 * r20737;
return r20738;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.8
rmApplied cos-sum0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
rmApplied flip--0.4
rmApplied add-sqr-sqrt0.4
Simplified0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020046
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))