\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}1 \cdot \frac{\mathsf{fma}\left(\cos B, -x, 1\right)}{\sin B}double f(double B, double x) {
double r8939 = x;
double r8940 = 1.0;
double r8941 = B;
double r8942 = tan(r8941);
double r8943 = r8940 / r8942;
double r8944 = r8939 * r8943;
double r8945 = -r8944;
double r8946 = sin(r8941);
double r8947 = r8940 / r8946;
double r8948 = r8945 + r8947;
return r8948;
}
double f(double B, double x) {
double r8949 = 1.0;
double r8950 = B;
double r8951 = cos(r8950);
double r8952 = x;
double r8953 = -r8952;
double r8954 = 1.0;
double r8955 = fma(r8951, r8953, r8954);
double r8956 = sin(r8950);
double r8957 = r8955 / r8956;
double r8958 = r8949 * r8957;
return r8958;
}



Bits error versus B



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