\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)}F \cdot \frac{{\left(\mathsf{fma}\left(x, 2, \left(\mathsf{fma}\left(F, F, 2\right)\right)\right)\right)}^{\frac{-1}{2}}}{\sin B} - \frac{x}{\tan B}double f(double F, double B, double x) {
double r14771730 = x;
double r14771731 = 1.0;
double r14771732 = B;
double r14771733 = tan(r14771732);
double r14771734 = r14771731 / r14771733;
double r14771735 = r14771730 * r14771734;
double r14771736 = -r14771735;
double r14771737 = F;
double r14771738 = sin(r14771732);
double r14771739 = r14771737 / r14771738;
double r14771740 = r14771737 * r14771737;
double r14771741 = 2.0;
double r14771742 = r14771740 + r14771741;
double r14771743 = r14771741 * r14771730;
double r14771744 = r14771742 + r14771743;
double r14771745 = r14771731 / r14771741;
double r14771746 = -r14771745;
double r14771747 = pow(r14771744, r14771746);
double r14771748 = r14771739 * r14771747;
double r14771749 = r14771736 + r14771748;
return r14771749;
}
double f(double F, double B, double x) {
double r14771750 = F;
double r14771751 = x;
double r14771752 = 2.0;
double r14771753 = fma(r14771750, r14771750, r14771752);
double r14771754 = fma(r14771751, r14771752, r14771753);
double r14771755 = -0.5;
double r14771756 = pow(r14771754, r14771755);
double r14771757 = B;
double r14771758 = sin(r14771757);
double r14771759 = r14771756 / r14771758;
double r14771760 = r14771750 * r14771759;
double r14771761 = tan(r14771757);
double r14771762 = r14771751 / r14771761;
double r14771763 = r14771760 - r14771762;
return r14771763;
}



Bits error versus F



Bits error versus B



Bits error versus x
Initial program 13.3
Simplified12.8
rmApplied div-inv12.8
Applied *-un-lft-identity12.8
Applied times-frac10.4
Simplified10.4
rmApplied associate-*r*10.4
Simplified10.4
Final simplification10.4
herbie shell --seed 2019125 +o rules:numerics
(FPCore (F B x)
:name "VandenBroeck and Keller, Equation (23)"
(+ (- (* x (/ 1 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2) (* 2 x)) (- (/ 1 2))))))