r \cdot \frac{\sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\frac{\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) - \left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right)}{\cos a \cdot \cos b + \sin a \cdot \sin b}}double f(double r, double a, double b) {
double r17054 = r;
double r17055 = b;
double r17056 = sin(r17055);
double r17057 = a;
double r17058 = r17057 + r17055;
double r17059 = cos(r17058);
double r17060 = r17056 / r17059;
double r17061 = r17054 * r17060;
return r17061;
}
double f(double r, double a, double b) {
double r17062 = r;
double r17063 = b;
double r17064 = sin(r17063);
double r17065 = a;
double r17066 = cos(r17065);
double r17067 = cos(r17063);
double r17068 = r17066 * r17067;
double r17069 = r17068 * r17068;
double r17070 = sin(r17065);
double r17071 = r17070 * r17064;
double r17072 = r17071 * r17071;
double r17073 = r17069 - r17072;
double r17074 = r17068 + r17071;
double r17075 = r17073 / r17074;
double r17076 = r17064 / r17075;
double r17077 = r17062 * r17076;
return r17077;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.1
rmApplied cos-sum0.3
rmApplied flip--0.4
Final simplification0.4
herbie shell --seed 2019356
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), B"
:precision binary64
(* r (/ (sin b) (cos (+ a b)))))