r \cdot \frac{\sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sqrt[3]{\left(\left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right)\right) \cdot \left(\left(\sqrt[3]{\sin b} \cdot \sqrt[3]{\sin b}\right) \cdot \left(\sin a \cdot \sqrt[3]{\sin b}\right)\right)}}double f(double r, double a, double b) {
double r3045179 = r;
double r3045180 = b;
double r3045181 = sin(r3045180);
double r3045182 = a;
double r3045183 = r3045182 + r3045180;
double r3045184 = cos(r3045183);
double r3045185 = r3045181 / r3045184;
double r3045186 = r3045179 * r3045185;
return r3045186;
}
double f(double r, double a, double b) {
double r3045187 = r;
double r3045188 = b;
double r3045189 = sin(r3045188);
double r3045190 = a;
double r3045191 = cos(r3045190);
double r3045192 = cos(r3045188);
double r3045193 = r3045191 * r3045192;
double r3045194 = sin(r3045190);
double r3045195 = r3045194 * r3045189;
double r3045196 = r3045195 * r3045195;
double r3045197 = cbrt(r3045189);
double r3045198 = r3045197 * r3045197;
double r3045199 = r3045194 * r3045197;
double r3045200 = r3045198 * r3045199;
double r3045201 = r3045196 * r3045200;
double r3045202 = cbrt(r3045201);
double r3045203 = r3045193 - r3045202;
double r3045204 = r3045189 / r3045203;
double r3045205 = r3045187 * r3045204;
return r3045205;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.7
rmApplied cos-sum0.3
rmApplied add-cbrt-cube0.4
Applied add-cbrt-cube0.4
Applied cbrt-unprod0.4
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019125 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
(* r (/ (sin b) (cos (+ a b)))))