\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1 - \cos B \cdot x}{\sin B}double f(double B, double x) {
double r337651 = x;
double r337652 = 1.0;
double r337653 = B;
double r337654 = tan(r337653);
double r337655 = r337652 / r337654;
double r337656 = r337651 * r337655;
double r337657 = -r337656;
double r337658 = sin(r337653);
double r337659 = r337652 / r337658;
double r337660 = r337657 + r337659;
return r337660;
}
double f(double B, double x) {
double r337661 = 1.0;
double r337662 = B;
double r337663 = cos(r337662);
double r337664 = x;
double r337665 = r337663 * r337664;
double r337666 = r337661 - r337665;
double r337667 = sin(r337662);
double r337668 = r337666 / r337667;
return r337668;
}



Bits error versus B



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