r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r}{\frac{\cos b \cdot \cos a - \sin a \cdot \sin b}{\sin b}}double f(double r, double a, double b) {
double r17446 = r;
double r17447 = b;
double r17448 = sin(r17447);
double r17449 = a;
double r17450 = r17449 + r17447;
double r17451 = cos(r17450);
double r17452 = r17448 / r17451;
double r17453 = r17446 * r17452;
return r17453;
}
double f(double r, double a, double b) {
double r17454 = r;
double r17455 = b;
double r17456 = cos(r17455);
double r17457 = a;
double r17458 = cos(r17457);
double r17459 = r17456 * r17458;
double r17460 = sin(r17457);
double r17461 = sin(r17455);
double r17462 = r17460 * r17461;
double r17463 = r17459 - r17462;
double r17464 = r17463 / r17461;
double r17465 = r17454 / r17464;
return r17465;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.2
rmApplied cos-sum0.3
rmApplied fma-neg0.3
rmApplied associate-*r/0.3
rmApplied associate-/l*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020064 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))