\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1}{\sin B} \cdot \left(1 - x \cdot \cos B\right)double f(double B, double x) {
double r39052 = x;
double r39053 = 1.0;
double r39054 = B;
double r39055 = tan(r39054);
double r39056 = r39053 / r39055;
double r39057 = r39052 * r39056;
double r39058 = -r39057;
double r39059 = sin(r39054);
double r39060 = r39053 / r39059;
double r39061 = r39058 + r39060;
return r39061;
}
double f(double B, double x) {
double r39062 = 1.0;
double r39063 = B;
double r39064 = sin(r39063);
double r39065 = r39062 / r39064;
double r39066 = 1.0;
double r39067 = x;
double r39068 = cos(r39063);
double r39069 = r39067 * r39068;
double r39070 = r39066 - r39069;
double r39071 = r39065 * r39070;
return r39071;
}



Bits error versus B



Bits error versus x
Results
Initial program 0.2
Simplified0.2
Taylor expanded around inf 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020003 +o rules:numerics
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
:precision binary64
(+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))