double f(double r, double a, double b) {
double r1106596 = r;
double r1106597 = b;
double r1106598 = sin(r1106597);
double r1106599 = a;
double r1106600 = r1106599 + r1106597;
double r1106601 = cos(r1106600);
double r1106602 = r1106598 / r1106601;
double r1106603 = r1106596 * r1106602;
return r1106603;
}
double f(double r, double a, double b) {
double r1106604 = r;
double r1106605 = b;
double r1106606 = sin(r1106605);
double r1106607 = r1106604 * r1106606;
double r1106608 = a;
double r1106609 = cos(r1106608);
double r1106610 = cos(r1106605);
double r1106611 = r1106609 * r1106610;
double r1106612 = sin(r1106608);
double r1106613 = r1106606 * r1106612;
double r1106614 = log1p(r1106613);
double r1106615 = expm1(r1106614);
double r1106616 = r1106611 - r1106615;
double r1106617 = r1106607 / r1106616;
return r1106617;
}
r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\cos a \cdot \cos b - (e^{\log_* (1 + \sin b \cdot \sin a)} - 1)^*}


Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.1
rmApplied cos-sum0.3
rmApplied associate-*r/0.3
rmApplied expm1-log1p-u0.3
Final simplification0.3
herbie shell --seed 2019101 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))