r \cdot \frac{\sin b}{\cos \left(a + b\right)}\sqrt[3]{\frac{\frac{1}{\cos a \cdot \cos b - \sin b \cdot \sin a}}{\left(\cos a \cdot \cos b - \sin b \cdot \sin a\right) \cdot \left(\cos a \cdot \cos b - \sin b \cdot \sin a\right)}} \cdot \left(r \cdot \sin b\right)double f(double r, double a, double b) {
double r819609 = r;
double r819610 = b;
double r819611 = sin(r819610);
double r819612 = a;
double r819613 = r819612 + r819610;
double r819614 = cos(r819613);
double r819615 = r819611 / r819614;
double r819616 = r819609 * r819615;
return r819616;
}
double f(double r, double a, double b) {
double r819617 = 1.0;
double r819618 = a;
double r819619 = cos(r819618);
double r819620 = b;
double r819621 = cos(r819620);
double r819622 = r819619 * r819621;
double r819623 = sin(r819620);
double r819624 = sin(r819618);
double r819625 = r819623 * r819624;
double r819626 = r819622 - r819625;
double r819627 = r819617 / r819626;
double r819628 = r819626 * r819626;
double r819629 = r819627 / r819628;
double r819630 = cbrt(r819629);
double r819631 = r;
double r819632 = r819631 * r819623;
double r819633 = r819630 * r819632;
return r819633;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied cos-sum0.3
rmApplied div-inv0.4
Applied associate-*r*0.4
rmApplied add-cbrt-cube0.5
Applied add-cbrt-cube0.5
Applied cbrt-undiv0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019130 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))