double f(double r, double a, double b) {
double r1235237 = r;
double r1235238 = b;
double r1235239 = sin(r1235238);
double r1235240 = a;
double r1235241 = r1235240 + r1235238;
double r1235242 = cos(r1235241);
double r1235243 = r1235239 / r1235242;
double r1235244 = r1235237 * r1235243;
return r1235244;
}
double f(double r, double a, double b) {
double r1235245 = r;
double r1235246 = a;
double r1235247 = cos(r1235246);
double r1235248 = b;
double r1235249 = cos(r1235248);
double r1235250 = sin(r1235248);
double r1235251 = r1235249 / r1235250;
double r1235252 = r1235247 * r1235251;
double r1235253 = sin(r1235246);
double r1235254 = r1235252 - r1235253;
double r1235255 = r1235245 / r1235254;
return r1235255;
}
r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r}{\cos a \cdot \frac{\cos b}{\sin b} - \sin a}


Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.0
rmApplied cos-sum0.3
rmApplied div-inv0.4
Applied associate-*r*0.4
Taylor expanded around inf 0.3
Simplified0.4
Final simplification0.4
herbie shell --seed 2019102
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))