r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos b, \cos a, \left(-\sin a\right) \cdot \sin b\right)}double f(double r, double a, double b) {
double r27944 = r;
double r27945 = b;
double r27946 = sin(r27945);
double r27947 = a;
double r27948 = r27947 + r27945;
double r27949 = cos(r27948);
double r27950 = r27946 / r27949;
double r27951 = r27944 * r27950;
return r27951;
}
double f(double r, double a, double b) {
double r27952 = r;
double r27953 = b;
double r27954 = sin(r27953);
double r27955 = r27952 * r27954;
double r27956 = cos(r27953);
double r27957 = a;
double r27958 = cos(r27957);
double r27959 = sin(r27957);
double r27960 = -r27959;
double r27961 = r27960 * r27954;
double r27962 = fma(r27956, r27958, r27961);
double r27963 = r27955 / r27962;
return r27963;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.4
Simplified15.4
rmApplied cos-sum0.3
Simplified0.3
Simplified0.3
rmApplied fma-neg0.3
Simplified0.3
rmApplied pow10.3
Applied pow10.3
Applied pow-prod-down0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019174 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))