\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r}{\mathsf{fma}\left(\cos b, \cos a, \sin a \cdot \sin b\right)} \cdot \frac{\sin b \cdot \mathsf{fma}\left(\cos a, \cos b, \sin a \cdot \sin b\right)}{\cos a \cdot \cos b - \sin a \cdot \sin b}double f(double r, double a, double b) {
double r23642 = r;
double r23643 = b;
double r23644 = sin(r23643);
double r23645 = r23642 * r23644;
double r23646 = a;
double r23647 = r23646 + r23643;
double r23648 = cos(r23647);
double r23649 = r23645 / r23648;
return r23649;
}
double f(double r, double a, double b) {
double r23650 = r;
double r23651 = b;
double r23652 = cos(r23651);
double r23653 = a;
double r23654 = cos(r23653);
double r23655 = sin(r23653);
double r23656 = sin(r23651);
double r23657 = r23655 * r23656;
double r23658 = fma(r23652, r23654, r23657);
double r23659 = r23650 / r23658;
double r23660 = fma(r23654, r23652, r23657);
double r23661 = r23656 * r23660;
double r23662 = r23654 * r23652;
double r23663 = r23662 - r23657;
double r23664 = r23661 / r23663;
double r23665 = r23659 * r23664;
return r23665;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.0
rmApplied cos-sum0.3
rmApplied div-inv0.4
rmApplied flip--0.4
Applied associate-/r/0.5
Applied associate-*r*0.5
Simplified0.5
rmApplied associate-*l*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020049 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))