\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 r782713 = x;
double r782714 = 1.0;
double r782715 = B;
double r782716 = tan(r782715);
double r782717 = r782714 / r782716;
double r782718 = r782713 * r782717;
double r782719 = -r782718;
double r782720 = sin(r782715);
double r782721 = r782714 / r782720;
double r782722 = r782719 + r782721;
return r782722;
}
double f(double B, double x) {
double r782723 = 1.0;
double r782724 = B;
double r782725 = cos(r782724);
double r782726 = x;
double r782727 = r782725 * r782726;
double r782728 = r782723 - r782727;
double r782729 = sin(r782724);
double r782730 = r782728 / r782729;
return r782730;
}



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 2019162 +o rules:numerics
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
(+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))