r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right)\right)}{\left(\cos a \cdot \cos b\right) \cdot \left(\sin b \cdot \sin a + \cos a \cdot \cos b\right) + \left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right)} - \frac{\left(\sin b \cdot \sin a\right) \cdot \left(\left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right)\right)}{\left(\cos a \cdot \cos b\right) \cdot \left(\sin b \cdot \sin a + \cos a \cdot \cos b\right) + \left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right)}}double f(double r, double a, double b) {
double r1212325 = r;
double r1212326 = b;
double r1212327 = sin(r1212326);
double r1212328 = a;
double r1212329 = r1212328 + r1212326;
double r1212330 = cos(r1212329);
double r1212331 = r1212327 / r1212330;
double r1212332 = r1212325 * r1212331;
return r1212332;
}
double f(double r, double a, double b) {
double r1212333 = r;
double r1212334 = b;
double r1212335 = sin(r1212334);
double r1212336 = r1212333 * r1212335;
double r1212337 = a;
double r1212338 = cos(r1212337);
double r1212339 = cos(r1212334);
double r1212340 = r1212338 * r1212339;
double r1212341 = r1212340 * r1212340;
double r1212342 = r1212340 * r1212341;
double r1212343 = sin(r1212337);
double r1212344 = r1212335 * r1212343;
double r1212345 = r1212344 + r1212340;
double r1212346 = r1212340 * r1212345;
double r1212347 = r1212344 * r1212344;
double r1212348 = r1212346 + r1212347;
double r1212349 = r1212342 / r1212348;
double r1212350 = r1212344 * r1212347;
double r1212351 = r1212350 / r1212348;
double r1212352 = r1212349 - r1212351;
double r1212353 = r1212336 / r1212352;
return r1212353;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.5
rmApplied cos-sum0.3
rmApplied associate-*r/0.3
rmApplied flip3--0.4
Simplified0.4
Simplified0.4
rmApplied div-sub0.4
Final simplification0.4
herbie shell --seed 2019170
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))