\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\mathsf{fma}\left(\frac{x \cdot \cos B}{\sin B}, -1, \frac{1}{\sin B}\right)double f(double B, double x) {
double r23643 = x;
double r23644 = 1.0;
double r23645 = B;
double r23646 = tan(r23645);
double r23647 = r23644 / r23646;
double r23648 = r23643 * r23647;
double r23649 = -r23648;
double r23650 = sin(r23645);
double r23651 = r23644 / r23650;
double r23652 = r23649 + r23651;
return r23652;
}
double f(double B, double x) {
double r23653 = x;
double r23654 = B;
double r23655 = cos(r23654);
double r23656 = r23653 * r23655;
double r23657 = sin(r23654);
double r23658 = r23656 / r23657;
double r23659 = 1.0;
double r23660 = -r23659;
double r23661 = r23659 / r23657;
double r23662 = fma(r23658, r23660, r23661);
return r23662;
}



Bits error versus B



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