r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{\sin b}{\frac{\left(\cos b \cdot \left(\cos b \cdot \cos b\right)\right) \cdot \left(\cos a \cdot \left(\cos a \cdot \cos a\right)\right) - {\left(\sin a \cdot \sin b\right)}^{3}}{\left(\cos b \cdot \cos a\right) \cdot \left(\cos b \cdot \cos a\right) + \left(\left(\sin a \cdot \sin b\right) \cdot \left(\cos b \cdot \cos a\right) + \left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right)\right)}} \cdot rdouble f(double r, double a, double b) {
double r4725040 = r;
double r4725041 = b;
double r4725042 = sin(r4725041);
double r4725043 = a;
double r4725044 = r4725043 + r4725041;
double r4725045 = cos(r4725044);
double r4725046 = r4725042 / r4725045;
double r4725047 = r4725040 * r4725046;
return r4725047;
}
double f(double r, double a, double b) {
double r4725048 = b;
double r4725049 = sin(r4725048);
double r4725050 = cos(r4725048);
double r4725051 = r4725050 * r4725050;
double r4725052 = r4725050 * r4725051;
double r4725053 = a;
double r4725054 = cos(r4725053);
double r4725055 = r4725054 * r4725054;
double r4725056 = r4725054 * r4725055;
double r4725057 = r4725052 * r4725056;
double r4725058 = sin(r4725053);
double r4725059 = r4725058 * r4725049;
double r4725060 = 3.0;
double r4725061 = pow(r4725059, r4725060);
double r4725062 = r4725057 - r4725061;
double r4725063 = r4725050 * r4725054;
double r4725064 = r4725063 * r4725063;
double r4725065 = r4725059 * r4725063;
double r4725066 = r4725059 * r4725059;
double r4725067 = r4725065 + r4725066;
double r4725068 = r4725064 + r4725067;
double r4725069 = r4725062 / r4725068;
double r4725070 = r4725049 / r4725069;
double r4725071 = r;
double r4725072 = r4725070 * r4725071;
return r4725072;
}



Bits error versus r



Bits error versus a



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