\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1 \cdot \left(1 - x \cdot \cos B\right)}{\sin B}double f(double B, double x) {
double r43010 = x;
double r43011 = 1.0;
double r43012 = B;
double r43013 = tan(r43012);
double r43014 = r43011 / r43013;
double r43015 = r43010 * r43014;
double r43016 = -r43015;
double r43017 = sin(r43012);
double r43018 = r43011 / r43017;
double r43019 = r43016 + r43018;
return r43019;
}
double f(double B, double x) {
double r43020 = 1.0;
double r43021 = 1.0;
double r43022 = x;
double r43023 = B;
double r43024 = cos(r43023);
double r43025 = r43022 * r43024;
double r43026 = r43021 - r43025;
double r43027 = r43020 * r43026;
double r43028 = sin(r43023);
double r43029 = r43027 / r43028;
return r43029;
}



Bits error versus B



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