r \cdot \frac{\sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}double f(double r, double a, double b) {
double r64 = r;
double r65 = b;
double r66 = sin(r65);
double r67 = a;
double r68 = r67 + r65;
double r69 = cos(r68);
double r70 = r66 / r69;
double r71 = r64 * r70;
return r71;
}
double f(double r, double a, double b) {
double r72 = r;
double r73 = b;
double r74 = sin(r73);
double r75 = r72 * r74;
double r76 = a;
double r77 = cos(r76);
double r78 = cos(r73);
double r79 = r77 * r78;
double r80 = sin(r76);
double r81 = r80 * r74;
double r82 = r79 - r81;
double r83 = r75 / r82;
return r83;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.4
rmApplied cos-sum0.3
rmApplied associate-*r/0.3
Final simplification0.3
herbie shell --seed 2020025 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))