\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r}{\mathsf{fma}\left(\cos b, \cos a, \mathsf{log1p}\left(\mathsf{expm1}\left(\left(-\sin b\right) \cdot \sin a\right)\right)\right)} \cdot \sin bdouble f(double r, double a, double b) {
double r28455 = r;
double r28456 = b;
double r28457 = sin(r28456);
double r28458 = r28455 * r28457;
double r28459 = a;
double r28460 = r28459 + r28456;
double r28461 = cos(r28460);
double r28462 = r28458 / r28461;
return r28462;
}
double f(double r, double a, double b) {
double r28463 = r;
double r28464 = b;
double r28465 = cos(r28464);
double r28466 = a;
double r28467 = cos(r28466);
double r28468 = sin(r28464);
double r28469 = -r28468;
double r28470 = sin(r28466);
double r28471 = r28469 * r28470;
double r28472 = expm1(r28471);
double r28473 = log1p(r28472);
double r28474 = fma(r28465, r28467, r28473);
double r28475 = r28463 / r28474;
double r28476 = r28475 * r28468;
return r28476;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.3
Simplified15.3
rmApplied cos-sum0.3
Simplified0.3
Taylor expanded around inf 0.3
Simplified0.3
rmApplied log1p-expm1-u0.4
Final simplification0.4
herbie shell --seed 2019179 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
(/ (* r (sin b)) (cos (+ a b))))