r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\cos a \cdot \cos b - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin b \cdot \sin a\right)\right)}double f(double r, double a, double b) {
double r704740 = r;
double r704741 = b;
double r704742 = sin(r704741);
double r704743 = a;
double r704744 = r704743 + r704741;
double r704745 = cos(r704744);
double r704746 = r704742 / r704745;
double r704747 = r704740 * r704746;
return r704747;
}
double f(double r, double a, double b) {
double r704748 = r;
double r704749 = b;
double r704750 = sin(r704749);
double r704751 = r704748 * r704750;
double r704752 = a;
double r704753 = cos(r704752);
double r704754 = cos(r704749);
double r704755 = r704753 * r704754;
double r704756 = sin(r704752);
double r704757 = r704750 * r704756;
double r704758 = expm1(r704757);
double r704759 = log1p(r704758);
double r704760 = r704755 - r704759;
double r704761 = r704751 / r704760;
return r704761;
}



Bits error versus r



Bits error versus a



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