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) - \sin a \cdot \left(\sin b \cdot \left(\sin b \cdot \sin a\right)\right)} \cdot r\right)double f(double r, double a, double b) {
double r391704 = r;
double r391705 = b;
double r391706 = sin(r391705);
double r391707 = a;
double r391708 = r391707 + r391705;
double r391709 = cos(r391708);
double r391710 = r391706 / r391709;
double r391711 = r391704 * r391710;
return r391711;
}
double f(double r, double a, double b) {
double r391712 = a;
double r391713 = cos(r391712);
double r391714 = b;
double r391715 = cos(r391714);
double r391716 = r391713 * r391715;
double r391717 = sin(r391714);
double r391718 = sin(r391712);
double r391719 = r391717 * r391718;
double r391720 = r391716 + r391719;
double r391721 = r391716 * r391716;
double r391722 = r391717 * r391719;
double r391723 = r391718 * r391722;
double r391724 = r391721 - r391723;
double r391725 = r391717 / r391724;
double r391726 = r;
double r391727 = r391725 * r391726;
double r391728 = r391720 * r391727;
return r391728;
}



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
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019154
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))