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 r16887 = r;
double r16888 = b;
double r16889 = sin(r16888);
double r16890 = a;
double r16891 = r16890 + r16888;
double r16892 = cos(r16891);
double r16893 = r16889 / r16892;
double r16894 = r16887 * r16893;
return r16894;
}
double f(double r, double a, double b) {
double r16895 = r;
double r16896 = b;
double r16897 = sin(r16896);
double r16898 = a;
double r16899 = cos(r16898);
double r16900 = cos(r16896);
double r16901 = sin(r16898);
double r16902 = r16901 * r16897;
double r16903 = -r16902;
double r16904 = fma(r16899, r16900, r16903);
double r16905 = r16897 / r16904;
double r16906 = r16895 * r16905;
return r16906;
}



Bits error versus r



Bits error versus a



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