\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\mathsf{fma}\left(\left(\cos a\right), \left(\cos b\right), \left(-\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(\sin a \cdot \sin b\right)\right)\right)\right)\right)\right)}double f(double r, double a, double b) {
double r783336 = r;
double r783337 = b;
double r783338 = sin(r783337);
double r783339 = r783336 * r783338;
double r783340 = a;
double r783341 = r783340 + r783337;
double r783342 = cos(r783341);
double r783343 = r783339 / r783342;
return r783343;
}
double f(double r, double a, double b) {
double r783344 = r;
double r783345 = b;
double r783346 = sin(r783345);
double r783347 = r783344 * r783346;
double r783348 = a;
double r783349 = cos(r783348);
double r783350 = cos(r783345);
double r783351 = sin(r783348);
double r783352 = r783351 * r783346;
double r783353 = log1p(r783352);
double r783354 = expm1(r783353);
double r783355 = -r783354;
double r783356 = fma(r783349, r783350, r783355);
double r783357 = r783347 / r783356;
return r783357;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.3
rmApplied cos-sum0.3
rmApplied fma-neg0.3
rmApplied expm1-log1p-u0.3
Final simplification0.3
herbie shell --seed 2019133 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
(/ (* r (sin b)) (cos (+ a b))))