r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\cos a \cdot \cos b - \mathsf{expm1}\left(\mathsf{log1p}\left(\sin b \cdot \sin a\right)\right)}double f(double r, double a, double b) {
double r1027151 = r;
double r1027152 = b;
double r1027153 = sin(r1027152);
double r1027154 = a;
double r1027155 = r1027154 + r1027152;
double r1027156 = cos(r1027155);
double r1027157 = r1027153 / r1027156;
double r1027158 = r1027151 * r1027157;
return r1027158;
}
double f(double r, double a, double b) {
double r1027159 = r;
double r1027160 = b;
double r1027161 = sin(r1027160);
double r1027162 = r1027159 * r1027161;
double r1027163 = a;
double r1027164 = cos(r1027163);
double r1027165 = cos(r1027160);
double r1027166 = r1027164 * r1027165;
double r1027167 = sin(r1027163);
double r1027168 = r1027161 * r1027167;
double r1027169 = log1p(r1027168);
double r1027170 = expm1(r1027169);
double r1027171 = r1027166 - r1027170;
double r1027172 = r1027162 / r1027171;
return r1027172;
}



Bits error versus r



Bits error versus a



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