r \cdot \frac{\sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos a, \cos b, -\sin a \cdot \sin b\right)}double f(double r, double a, double b) {
double r21460 = r;
double r21461 = b;
double r21462 = sin(r21461);
double r21463 = a;
double r21464 = r21463 + r21461;
double r21465 = cos(r21464);
double r21466 = r21462 / r21465;
double r21467 = r21460 * r21466;
return r21467;
}
double f(double r, double a, double b) {
double r21468 = r;
double r21469 = b;
double r21470 = sin(r21469);
double r21471 = a;
double r21472 = cos(r21471);
double r21473 = cos(r21469);
double r21474 = sin(r21471);
double r21475 = r21474 * r21470;
double r21476 = -r21475;
double r21477 = fma(r21472, r21473, r21476);
double r21478 = r21470 / r21477;
double r21479 = r21468 * r21478;
return r21479;
}



Bits error versus r



Bits error versus a



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