r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(r \cdot \frac{\sin b}{{\left(\cos a \cdot \cos b\right)}^{3} - {\left(\sin a \cdot \sin b\right)}^{3}}\right) \cdot \left(\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) + \left(\left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right) + \left(\cos a \cdot \cos b\right) \cdot \left(\sin a \cdot \sin b\right)\right)\right)double f(double r, double a, double b) {
double r17435 = r;
double r17436 = b;
double r17437 = sin(r17436);
double r17438 = a;
double r17439 = r17438 + r17436;
double r17440 = cos(r17439);
double r17441 = r17437 / r17440;
double r17442 = r17435 * r17441;
return r17442;
}
double f(double r, double a, double b) {
double r17443 = r;
double r17444 = b;
double r17445 = sin(r17444);
double r17446 = a;
double r17447 = cos(r17446);
double r17448 = cos(r17444);
double r17449 = r17447 * r17448;
double r17450 = 3.0;
double r17451 = pow(r17449, r17450);
double r17452 = sin(r17446);
double r17453 = r17452 * r17445;
double r17454 = pow(r17453, r17450);
double r17455 = r17451 - r17454;
double r17456 = r17445 / r17455;
double r17457 = r17443 * r17456;
double r17458 = r17449 * r17449;
double r17459 = r17453 * r17453;
double r17460 = r17449 * r17453;
double r17461 = r17459 + r17460;
double r17462 = r17458 + r17461;
double r17463 = r17457 * r17462;
return r17463;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.2
rmApplied cos-sum0.3
rmApplied flip3--0.4
Applied associate-/r/0.4
Applied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2019344
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))