r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(\cos a \cdot \cos b + \sin b \cdot \sin a\right) \cdot \left(\frac{\sin b}{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left(\sin b \cdot \sin a\right) \cdot \left(\sin b \cdot \sin a\right)} \cdot r\right)double f(double r, double a, double b) {
double r983462 = r;
double r983463 = b;
double r983464 = sin(r983463);
double r983465 = a;
double r983466 = r983465 + r983463;
double r983467 = cos(r983466);
double r983468 = r983464 / r983467;
double r983469 = r983462 * r983468;
return r983469;
}
double f(double r, double a, double b) {
double r983470 = a;
double r983471 = cos(r983470);
double r983472 = b;
double r983473 = cos(r983472);
double r983474 = r983471 * r983473;
double r983475 = sin(r983472);
double r983476 = sin(r983470);
double r983477 = r983475 * r983476;
double r983478 = r983474 + r983477;
double r983479 = r983474 * r983474;
double r983480 = r983477 * r983477;
double r983481 = r983479 - r983480;
double r983482 = r983475 / r983481;
double r983483 = r;
double r983484 = r983482 * r983483;
double r983485 = r983478 * r983484;
return r983485;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.8
rmApplied cos-sum0.3
rmApplied flip--0.4
Applied associate-/r/0.4
Applied associate-*r*0.4
Final simplification0.4
herbie shell --seed 2019171
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))