r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos a, \cos b, \left(-\sin a\right) \cdot \sin b\right)}double f(double r, double a, double b) {
double r25864 = r;
double r25865 = b;
double r25866 = sin(r25865);
double r25867 = a;
double r25868 = r25867 + r25865;
double r25869 = cos(r25868);
double r25870 = r25866 / r25869;
double r25871 = r25864 * r25870;
return r25871;
}
double f(double r, double a, double b) {
double r25872 = r;
double r25873 = b;
double r25874 = sin(r25873);
double r25875 = r25872 * r25874;
double r25876 = a;
double r25877 = cos(r25876);
double r25878 = cos(r25873);
double r25879 = sin(r25876);
double r25880 = -r25879;
double r25881 = r25880 * r25874;
double r25882 = fma(r25877, r25878, r25881);
double r25883 = r25875 / r25882;
return r25883;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 14.7
rmApplied cos-sum0.3
Simplified0.3
rmApplied fma-neg0.3
Simplified0.3
rmApplied associate-*r/0.3
Final simplification0.3
herbie shell --seed 2019198 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))