\frac{r \cdot \sin b}{\cos \left(a + b\right)}\left(r \cdot \sin b\right) \cdot \frac{1}{\cos b \cdot \cos a - \sin a \cdot \sin b}double f(double r, double a, double b) {
double r17251 = r;
double r17252 = b;
double r17253 = sin(r17252);
double r17254 = r17251 * r17253;
double r17255 = a;
double r17256 = r17255 + r17252;
double r17257 = cos(r17256);
double r17258 = r17254 / r17257;
return r17258;
}
double f(double r, double a, double b) {
double r17259 = r;
double r17260 = b;
double r17261 = sin(r17260);
double r17262 = r17259 * r17261;
double r17263 = 1.0;
double r17264 = cos(r17260);
double r17265 = a;
double r17266 = cos(r17265);
double r17267 = r17264 * r17266;
double r17268 = sin(r17265);
double r17269 = r17268 * r17261;
double r17270 = r17267 - r17269;
double r17271 = r17263 / r17270;
double r17272 = r17262 * r17271;
return r17272;
}



Bits error versus r



Bits error versus a



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