\frac{r \cdot \sin b}{\cos \left(a + b\right)}r \cdot \frac{\sin b}{\cos b \cdot \cos a - \mathsf{log1p}\left(\mathsf{expm1}\left(\sin a \cdot \sin b\right)\right)}double f(double r, double a, double b) {
double r18861 = r;
double r18862 = b;
double r18863 = sin(r18862);
double r18864 = r18861 * r18863;
double r18865 = a;
double r18866 = r18865 + r18862;
double r18867 = cos(r18866);
double r18868 = r18864 / r18867;
return r18868;
}
double f(double r, double a, double b) {
double r18869 = r;
double r18870 = b;
double r18871 = sin(r18870);
double r18872 = cos(r18870);
double r18873 = a;
double r18874 = cos(r18873);
double r18875 = r18872 * r18874;
double r18876 = sin(r18873);
double r18877 = r18876 * r18871;
double r18878 = expm1(r18877);
double r18879 = log1p(r18878);
double r18880 = r18875 - r18879;
double r18881 = r18871 / r18880;
double r18882 = r18869 * r18881;
return r18882;
}



Bits error versus r



Bits error versus a



Bits error versus b
Results
Initial program 15.2
rmApplied cos-sum0.3
rmApplied *-un-lft-identity0.3
Applied times-frac0.3
Simplified0.3
Simplified0.3
rmApplied log1p-expm1-u0.3
Final simplification0.3
herbie shell --seed 2020065 +o rules:numerics
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
:precision binary64
(/ (* r (sin b)) (cos (+ a b))))