\frac{r \cdot \sin b}{\cos \left(a + b\right)}r \cdot \left(\sin b \cdot \frac{1}{\cos b \cdot \cos a - \sin a \cdot \sin b}\right)double f(double r, double a, double b) {
double r78 = r;
double r79 = b;
double r80 = sin(r79);
double r81 = r78 * r80;
double r82 = a;
double r83 = r82 + r79;
double r84 = cos(r83);
double r85 = r81 / r84;
return r85;
}
double f(double r, double a, double b) {
double r86 = r;
double r87 = b;
double r88 = sin(r87);
double r89 = 1.0;
double r90 = cos(r87);
double r91 = a;
double r92 = cos(r91);
double r93 = r90 * r92;
double r94 = sin(r91);
double r95 = r94 * r88;
double r96 = r93 - r95;
double r97 = r89 / r96;
double r98 = r88 * r97;
double r99 = r86 * r98;
return r99;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.4
rmApplied cos-sum0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied div-inv0.4
Final simplification0.4
herbie shell --seed 2020025 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))