r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\frac{\left(\left(\cos a \cdot \cos a\right) \cdot \cos a\right) \cdot \left(\left(\cos b \cdot \cos b\right) \cdot \cos b\right) - {\left(\sin a \cdot \sin b\right)}^{3}}{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) + \left(\sin b \cdot \sin a\right) \cdot \left(\cos a \cdot \cos b + \sin a \cdot \sin b\right)}}double f(double r, double a, double b) {
double r19036 = r;
double r19037 = b;
double r19038 = sin(r19037);
double r19039 = a;
double r19040 = r19039 + r19037;
double r19041 = cos(r19040);
double r19042 = r19038 / r19041;
double r19043 = r19036 * r19042;
return r19043;
}
double f(double r, double a, double b) {
double r19044 = r;
double r19045 = b;
double r19046 = sin(r19045);
double r19047 = r19044 * r19046;
double r19048 = a;
double r19049 = cos(r19048);
double r19050 = r19049 * r19049;
double r19051 = r19050 * r19049;
double r19052 = cos(r19045);
double r19053 = r19052 * r19052;
double r19054 = r19053 * r19052;
double r19055 = r19051 * r19054;
double r19056 = sin(r19048);
double r19057 = r19056 * r19046;
double r19058 = 3.0;
double r19059 = pow(r19057, r19058);
double r19060 = r19055 - r19059;
double r19061 = r19049 * r19052;
double r19062 = r19061 * r19061;
double r19063 = r19046 * r19056;
double r19064 = r19061 + r19057;
double r19065 = r19063 * r19064;
double r19066 = r19062 + r19065;
double r19067 = r19060 / r19066;
double r19068 = r19047 / r19067;
return r19068;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.1
rmApplied cos-sum0.3
rmApplied associate-*r/0.3
rmApplied flip3--0.4
Simplified0.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 2020045
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))