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 r24914 = r;
double r24915 = b;
double r24916 = sin(r24915);
double r24917 = a;
double r24918 = r24917 + r24915;
double r24919 = cos(r24918);
double r24920 = r24916 / r24919;
double r24921 = r24914 * r24920;
return r24921;
}
double f(double r, double a, double b) {
double r24922 = r;
double r24923 = b;
double r24924 = sin(r24923);
double r24925 = a;
double r24926 = cos(r24925);
double r24927 = cos(r24923);
double r24928 = r24926 * r24927;
double r24929 = 3.0;
double r24930 = pow(r24928, r24929);
double r24931 = sin(r24925);
double r24932 = r24931 * r24924;
double r24933 = pow(r24932, r24929);
double r24934 = r24930 - r24933;
double r24935 = r24924 / r24934;
double r24936 = r24922 * r24935;
double r24937 = r24928 * r24928;
double r24938 = r24932 * r24932;
double r24939 = r24928 * r24932;
double r24940 = r24938 + r24939;
double r24941 = r24937 + r24940;
double r24942 = r24936 * r24941;
return r24942;
}



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)))))