\left(-x \cdot \frac{1}{\tan B}\right) + \frac{F}{\sin B} \cdot {\left(\left(F \cdot F + 2\right) + 2 \cdot x\right)}^{\left(-\frac{1}{2}\right)}\mathsf{fma}\left({\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\left(-\frac{1}{2}\right)}, \frac{\frac{1}{\sin B}}{\frac{1}{F}}, -\frac{x \cdot 1}{\tan B}\right)double f(double F, double B, double x) {
double r59752 = x;
double r59753 = 1.0;
double r59754 = B;
double r59755 = tan(r59754);
double r59756 = r59753 / r59755;
double r59757 = r59752 * r59756;
double r59758 = -r59757;
double r59759 = F;
double r59760 = sin(r59754);
double r59761 = r59759 / r59760;
double r59762 = r59759 * r59759;
double r59763 = 2.0;
double r59764 = r59762 + r59763;
double r59765 = r59763 * r59752;
double r59766 = r59764 + r59765;
double r59767 = r59753 / r59763;
double r59768 = -r59767;
double r59769 = pow(r59766, r59768);
double r59770 = r59761 * r59769;
double r59771 = r59758 + r59770;
return r59771;
}
double f(double F, double B, double x) {
double r59772 = 2.0;
double r59773 = x;
double r59774 = F;
double r59775 = fma(r59774, r59774, r59772);
double r59776 = fma(r59772, r59773, r59775);
double r59777 = 1.0;
double r59778 = r59777 / r59772;
double r59779 = -r59778;
double r59780 = pow(r59776, r59779);
double r59781 = 1.0;
double r59782 = B;
double r59783 = sin(r59782);
double r59784 = r59781 / r59783;
double r59785 = r59781 / r59774;
double r59786 = r59784 / r59785;
double r59787 = r59773 * r59777;
double r59788 = tan(r59782);
double r59789 = r59787 / r59788;
double r59790 = -r59789;
double r59791 = fma(r59780, r59786, r59790);
return r59791;
}



Bits error versus F



Bits error versus B



Bits error versus x
Initial program 14.1
Simplified14.1
rmApplied associate-*r/14.1
rmApplied clear-num14.1
rmApplied div-inv14.1
Applied associate-/r*14.1
Final simplification14.1
herbie shell --seed 2019304 +o rules:numerics
(FPCore (F B x)
:name "VandenBroeck and Keller, Equation (23)"
:precision binary64
(+ (- (* x (/ 1 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2) (* 2 x)) (- (/ 1 2))))))