\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\mathsf{fma}\left(\frac{x \cdot 1}{\sin B}, -\cos B, \frac{1}{\sin B}\right)double f(double B, double x) {
double r53993 = x;
double r53994 = 1.0;
double r53995 = B;
double r53996 = tan(r53995);
double r53997 = r53994 / r53996;
double r53998 = r53993 * r53997;
double r53999 = -r53998;
double r54000 = sin(r53995);
double r54001 = r53994 / r54000;
double r54002 = r53999 + r54001;
return r54002;
}
double f(double B, double x) {
double r54003 = x;
double r54004 = 1.0;
double r54005 = r54003 * r54004;
double r54006 = B;
double r54007 = sin(r54006);
double r54008 = r54005 / r54007;
double r54009 = cos(r54006);
double r54010 = -r54009;
double r54011 = r54004 / r54007;
double r54012 = fma(r54008, r54010, r54011);
return r54012;
}



Bits error versus B



Bits error versus x
Initial program 0.2
rmApplied associate-*r/0.2
rmApplied tan-quot0.2
Applied associate-/r/0.2
Applied distribute-rgt-neg-in0.2
Applied fma-def0.2
Final simplification0.2
herbie shell --seed 2020081 +o rules:numerics
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
:precision binary64
(+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))