\frac{r \cdot \sin b}{\cos \left(a + b\right)}r \cdot \left(\frac{\sin b}{\left(\left(\cos b \cdot \cos a\right) \cdot \left(\cos b \cdot \cos a\right)\right) \cdot \left(\cos b \cdot \cos a\right) - \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)} \cdot \left(\left(\left(\cos b \cdot \cos a\right) \cdot \left(\sin b \cdot \sin a\right) + \left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right)\right) + \left(\cos b \cdot \cos a\right) \cdot \left(\cos b \cdot \cos a\right)\right)\right)double f(double r, double a, double b) {
double r425442 = r;
double r425443 = b;
double r425444 = sin(r425443);
double r425445 = r425442 * r425444;
double r425446 = a;
double r425447 = r425446 + r425443;
double r425448 = cos(r425447);
double r425449 = r425445 / r425448;
return r425449;
}
double f(double r, double a, double b) {
double r425450 = r;
double r425451 = b;
double r425452 = sin(r425451);
double r425453 = cos(r425451);
double r425454 = a;
double r425455 = cos(r425454);
double r425456 = r425453 * r425455;
double r425457 = r425456 * r425456;
double r425458 = r425457 * r425456;
double r425459 = sin(r425454);
double r425460 = r425452 * r425459;
double r425461 = r425460 * r425460;
double r425462 = r425460 * r425461;
double r425463 = r425458 - r425462;
double r425464 = r425452 / r425463;
double r425465 = r425456 * r425460;
double r425466 = r425465 + r425461;
double r425467 = r425466 + r425457;
double r425468 = r425464 * r425467;
double r425469 = r425450 * r425468;
return r425469;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.3
rmApplied cos-sum0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.3
Simplified0.3
rmApplied flip3--0.4
Applied associate-/r/0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019128 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
(/ (* r (sin b)) (cos (+ a b))))