r \cdot \frac{\sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\cos a \cdot \cos b - \log \left(e^{\sin a \cdot \sin b}\right)}double f(double r, double a, double b) {
double r17786 = r;
double r17787 = b;
double r17788 = sin(r17787);
double r17789 = a;
double r17790 = r17789 + r17787;
double r17791 = cos(r17790);
double r17792 = r17788 / r17791;
double r17793 = r17786 * r17792;
return r17793;
}
double f(double r, double a, double b) {
double r17794 = r;
double r17795 = b;
double r17796 = sin(r17795);
double r17797 = a;
double r17798 = cos(r17797);
double r17799 = cos(r17795);
double r17800 = r17798 * r17799;
double r17801 = sin(r17797);
double r17802 = r17801 * r17796;
double r17803 = exp(r17802);
double r17804 = log(r17803);
double r17805 = r17800 - r17804;
double r17806 = r17796 / r17805;
double r17807 = r17794 * r17806;
return r17807;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied cos-sum0.3
rmApplied add-log-exp0.4
Final simplification0.4
herbie shell --seed 2020057 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))