r \cdot \frac{\sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sqrt[3]{\sin a} \cdot \left(\sqrt[3]{\sin b} \cdot {\left({\left(\sin b\right)}^{2} \cdot {\left(\sin a\right)}^{2}\right)}^{\frac{1}{3}}\right)}double f(double r, double a, double b) {
double r16538 = r;
double r16539 = b;
double r16540 = sin(r16539);
double r16541 = a;
double r16542 = r16541 + r16539;
double r16543 = cos(r16542);
double r16544 = r16540 / r16543;
double r16545 = r16538 * r16544;
return r16545;
}
double f(double r, double a, double b) {
double r16546 = r;
double r16547 = b;
double r16548 = sin(r16547);
double r16549 = a;
double r16550 = cos(r16549);
double r16551 = cos(r16547);
double r16552 = r16550 * r16551;
double r16553 = sin(r16549);
double r16554 = cbrt(r16553);
double r16555 = cbrt(r16548);
double r16556 = 2.0;
double r16557 = pow(r16548, r16556);
double r16558 = pow(r16553, r16556);
double r16559 = r16557 * r16558;
double r16560 = 0.3333333333333333;
double r16561 = pow(r16559, r16560);
double r16562 = r16555 * r16561;
double r16563 = r16554 * r16562;
double r16564 = r16552 - r16563;
double r16565 = r16548 / r16564;
double r16566 = r16546 * r16565;
return r16566;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.9
rmApplied cos-sum0.3
rmApplied add-cbrt-cube0.4
Applied add-cbrt-cube0.4
Applied cbrt-unprod0.4
Simplified0.4
rmApplied cube-mult0.4
Applied cbrt-prod0.4
rmApplied cbrt-prod0.4
Applied associate-*l*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2020083
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))