r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(r \cdot \sin b\right) \cdot \frac{1}{\mathsf{fma}\left(\cos a, \cos b, -\sin b \cdot \sin a\right)}double f(double r, double a, double b) {
double r25446 = r;
double r25447 = b;
double r25448 = sin(r25447);
double r25449 = a;
double r25450 = r25449 + r25447;
double r25451 = cos(r25450);
double r25452 = r25448 / r25451;
double r25453 = r25446 * r25452;
return r25453;
}
double f(double r, double a, double b) {
double r25454 = r;
double r25455 = b;
double r25456 = sin(r25455);
double r25457 = r25454 * r25456;
double r25458 = 1.0;
double r25459 = a;
double r25460 = cos(r25459);
double r25461 = cos(r25455);
double r25462 = sin(r25459);
double r25463 = r25456 * r25462;
double r25464 = -r25463;
double r25465 = fma(r25460, r25461, r25464);
double r25466 = r25458 / r25465;
double r25467 = r25457 * r25466;
return r25467;
}



Bits error versus r



Bits error versus a



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