r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(\sin b \cdot \sin a + \cos a \cdot \cos b\right) \cdot \frac{\frac{r \cdot \sin b}{\sin b \cdot \sin a + \cos a \cdot \cos b}}{\cos a \cdot \cos b - \sin b \cdot \sin a}double f(double r, double a, double b) {
double r1117074 = r;
double r1117075 = b;
double r1117076 = sin(r1117075);
double r1117077 = a;
double r1117078 = r1117077 + r1117075;
double r1117079 = cos(r1117078);
double r1117080 = r1117076 / r1117079;
double r1117081 = r1117074 * r1117080;
return r1117081;
}
double f(double r, double a, double b) {
double r1117082 = b;
double r1117083 = sin(r1117082);
double r1117084 = a;
double r1117085 = sin(r1117084);
double r1117086 = r1117083 * r1117085;
double r1117087 = cos(r1117084);
double r1117088 = cos(r1117082);
double r1117089 = r1117087 * r1117088;
double r1117090 = r1117086 + r1117089;
double r1117091 = r;
double r1117092 = r1117091 * r1117083;
double r1117093 = r1117092 / r1117090;
double r1117094 = r1117089 - r1117086;
double r1117095 = r1117093 / r1117094;
double r1117096 = r1117090 * r1117095;
return r1117096;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.3
rmApplied cos-sum0.3
rmApplied associate-*r/0.3
rmApplied flip--0.4
Applied associate-/r/0.5
rmApplied difference-of-squares0.4
Applied associate-/r*0.4
Final simplification0.4
herbie shell --seed 2019133 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))