double f(double r, double a, double b) {
double r1145012 = r;
double r1145013 = b;
double r1145014 = sin(r1145013);
double r1145015 = r1145012 * r1145014;
double r1145016 = a;
double r1145017 = r1145016 + r1145013;
double r1145018 = cos(r1145017);
double r1145019 = r1145015 / r1145018;
return r1145019;
}
double f(double r, double a, double b) {
double r1145020 = 1.0;
double r1145021 = b;
double r1145022 = cos(r1145021);
double r1145023 = a;
double r1145024 = cos(r1145023);
double r1145025 = r1145022 * r1145024;
double r1145026 = sin(r1145021);
double r1145027 = sin(r1145023);
double r1145028 = r1145026 * r1145027;
double r1145029 = r1145025 - r1145028;
double r1145030 = r1145020 / r1145029;
double r1145031 = r;
double r1145032 = r1145031 * r1145026;
double r1145033 = r1145030 * r1145032;
return r1145033;
}
\frac{r \cdot \sin b}{\cos \left(a + b\right)}\frac{1}{\cos b \cdot \cos a - \sin b \cdot \sin a} \cdot \left(r \cdot \sin b\right)


Bits error versus r



Bits error versus a



Bits error versus b
Initial program 15.0
rmApplied cos-sum0.3
rmApplied div-inv0.4
Final simplification0.4
herbie shell --seed 2019102
(FPCore (r a b)
:name "r*sin(b)/cos(a+b), A"
(/ (* r (sin b)) (cos (+ a b))))