\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{r \cdot \sin b}{\frac{\mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right) \cdot \mathsf{fma}\left(\cos a, \cos b, -\sin b \cdot \sin a\right)}{\mathsf{fma}\left(\cos a, \cos b, \sin b \cdot \sin a\right)}}double f(double r, double a, double b) {
double r19138 = r;
double r19139 = b;
double r19140 = sin(r19139);
double r19141 = r19138 * r19140;
double r19142 = a;
double r19143 = r19142 + r19139;
double r19144 = cos(r19143);
double r19145 = r19141 / r19144;
return r19145;
}
double f(double r, double a, double b) {
double r19146 = r;
double r19147 = b;
double r19148 = sin(r19147);
double r19149 = r19146 * r19148;
double r19150 = a;
double r19151 = cos(r19150);
double r19152 = cos(r19147);
double r19153 = sin(r19150);
double r19154 = r19148 * r19153;
double r19155 = fma(r19151, r19152, r19154);
double r19156 = -r19154;
double r19157 = fma(r19151, r19152, r19156);
double r19158 = r19155 * r19157;
double r19159 = r19158 / r19155;
double r19160 = r19149 / r19159;
return r19160;
}



Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.0
rmApplied cos-sum0.3
rmApplied flip--0.4
Simplified0.4
Simplified0.3
rmApplied *-un-lft-identity0.3
Final simplification0.3
herbie shell --seed 2020043 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))