\frac{r \cdot \sin b}{\cos \left(a + b\right)}-\frac{r \cdot \sin b}{\mathsf{fma}\left(-\cos b, \cos a, \mathsf{expm1}\left(\mathsf{log1p}\left(\sin b \cdot \sin a\right)\right)\right)}double f(double r, double a, double b) {
double r945528 = r;
double r945529 = b;
double r945530 = sin(r945529);
double r945531 = r945528 * r945530;
double r945532 = a;
double r945533 = r945532 + r945529;
double r945534 = cos(r945533);
double r945535 = r945531 / r945534;
return r945535;
}
double f(double r, double a, double b) {
double r945536 = r;
double r945537 = b;
double r945538 = sin(r945537);
double r945539 = r945536 * r945538;
double r945540 = cos(r945537);
double r945541 = -r945540;
double r945542 = a;
double r945543 = cos(r945542);
double r945544 = sin(r945542);
double r945545 = r945538 * r945544;
double r945546 = log1p(r945545);
double r945547 = expm1(r945546);
double r945548 = fma(r945541, r945543, r945547);
double r945549 = r945539 / r945548;
double r945550 = -r945549;
return r945550;
}



Bits error versus r



Bits error versus a



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