\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1}{\sin B} + \frac{1}{\sin B} \cdot \left(-x \cdot \cos B\right)double f(double B, double x) {
double r8175 = x;
double r8176 = 1.0;
double r8177 = B;
double r8178 = tan(r8177);
double r8179 = r8176 / r8178;
double r8180 = r8175 * r8179;
double r8181 = -r8180;
double r8182 = sin(r8177);
double r8183 = r8176 / r8182;
double r8184 = r8181 + r8183;
return r8184;
}
double f(double B, double x) {
double r8185 = 1.0;
double r8186 = B;
double r8187 = sin(r8186);
double r8188 = r8185 / r8187;
double r8189 = x;
double r8190 = cos(r8186);
double r8191 = r8189 * r8190;
double r8192 = -r8191;
double r8193 = r8188 * r8192;
double r8194 = r8188 + r8193;
return r8194;
}



Bits error versus B



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