r \cdot \frac{\sin b}{\cos \left(a + b\right)}\left(r \cdot \frac{\sin b}{{\left(\cos a \cdot \cos b\right)}^{3} - {\left(\sin a \cdot \sin b\right)}^{3}}\right) \cdot \left(\left(\cos a \cdot \cos b\right) \cdot \left(\cos a \cdot \cos b\right) + \left(\left(\sin a \cdot \sin b\right) \cdot \left(\sin a \cdot \sin b\right) + \left(\cos a \cdot \cos b\right) \cdot \left(\sin a \cdot \sin b\right)\right)\right)double f(double r, double a, double b) {
double r25083 = r;
double r25084 = b;
double r25085 = sin(r25084);
double r25086 = a;
double r25087 = r25086 + r25084;
double r25088 = cos(r25087);
double r25089 = r25085 / r25088;
double r25090 = r25083 * r25089;
return r25090;
}
double f(double r, double a, double b) {
double r25091 = r;
double r25092 = b;
double r25093 = sin(r25092);
double r25094 = a;
double r25095 = cos(r25094);
double r25096 = cos(r25092);
double r25097 = r25095 * r25096;
double r25098 = 3.0;
double r25099 = pow(r25097, r25098);
double r25100 = sin(r25094);
double r25101 = r25100 * r25093;
double r25102 = pow(r25101, r25098);
double r25103 = r25099 - r25102;
double r25104 = r25093 / r25103;
double r25105 = r25091 * r25104;
double r25106 = r25097 * r25097;
double r25107 = r25101 * r25101;
double r25108 = r25097 * r25101;
double r25109 = r25107 + r25108;
double r25110 = r25106 + r25109;
double r25111 = r25105 * r25110;
return r25111;
}



Bits error versus r



Bits error versus a



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