r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\begin{array}{l}
t_0 := \sin b \cdot \sin a\\
r \cdot \frac{\sin b}{\cos a \cdot \cos b - \sqrt[3]{t_0 \cdot {t_0}^{2}}}
\end{array}
(FPCore (r a b) :precision binary64 (* r (/ (sin b) (cos (+ a b)))))
(FPCore (r a b) :precision binary64 (let* ((t_0 (* (sin b) (sin a)))) (* r (/ (sin b) (- (* (cos a) (cos b)) (cbrt (* t_0 (pow t_0 2.0))))))))
double code(double r, double a, double b) {
return r * (sin(b) / cos(a + b));
}
double code(double r, double a, double b) {
double t_0 = sin(b) * sin(a);
return r * (sin(b) / ((cos(a) * cos(b)) - cbrt(t_0 * pow(t_0, 2.0))));
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 14.7
Applied cos-sum_binary640.3
Applied add-cbrt-cube_binary640.4
Applied pow2_binary640.4
Final simplification0.4
herbie shell --seed 2021275
(FPCore (r a b)
:name "rsin B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))