r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{-r}{\mathsf{fma}\left(-\frac{\cos a}{\sin b}, \cos b, \sin a\right)}double f(double r, double a, double b) {
double r988461 = r;
double r988462 = b;
double r988463 = sin(r988462);
double r988464 = a;
double r988465 = r988464 + r988462;
double r988466 = cos(r988465);
double r988467 = r988463 / r988466;
double r988468 = r988461 * r988467;
return r988468;
}
double f(double r, double a, double b) {
double r988469 = r;
double r988470 = -r988469;
double r988471 = a;
double r988472 = cos(r988471);
double r988473 = b;
double r988474 = sin(r988473);
double r988475 = r988472 / r988474;
double r988476 = -r988475;
double r988477 = cos(r988473);
double r988478 = sin(r988471);
double r988479 = fma(r988476, r988477, r988478);
double r988480 = r988470 / r988479;
return r988480;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.7
rmApplied cos-sum0.3
rmApplied *-un-lft-identity0.3
Applied associate-*l*0.3
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.4
Applied fma-neg0.4
rmApplied frac-2neg0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019162 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))