\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\mathsf{fma}\left(-x, 1 \cdot \frac{\cos B}{\sin B}, \frac{1}{\sin B}\right)double f(double B, double x) {
double r204 = x;
double r205 = 1.0;
double r206 = B;
double r207 = tan(r206);
double r208 = r205 / r207;
double r209 = r204 * r208;
double r210 = -r209;
double r211 = sin(r206);
double r212 = r205 / r211;
double r213 = r210 + r212;
return r213;
}
double f(double B, double x) {
double r214 = x;
double r215 = -r214;
double r216 = 1.0;
double r217 = B;
double r218 = cos(r217);
double r219 = sin(r217);
double r220 = r218 / r219;
double r221 = r216 * r220;
double r222 = r216 / r219;
double r223 = fma(r215, r221, r222);
return r223;
}



Bits error versus B



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