\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)}\left(\frac{{\left(\mathsf{fma}\left(x, 2, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\frac{-1}{2}}}{\sqrt[3]{\sin B} \cdot \sqrt[3]{\sin B}} \cdot F\right) \cdot \frac{1}{\sqrt[3]{\sin B}} - \frac{x}{\tan B}double f(double F, double B, double x) {
double r1408833 = x;
double r1408834 = 1.0;
double r1408835 = B;
double r1408836 = tan(r1408835);
double r1408837 = r1408834 / r1408836;
double r1408838 = r1408833 * r1408837;
double r1408839 = -r1408838;
double r1408840 = F;
double r1408841 = sin(r1408835);
double r1408842 = r1408840 / r1408841;
double r1408843 = r1408840 * r1408840;
double r1408844 = 2.0;
double r1408845 = r1408843 + r1408844;
double r1408846 = r1408844 * r1408833;
double r1408847 = r1408845 + r1408846;
double r1408848 = r1408834 / r1408844;
double r1408849 = -r1408848;
double r1408850 = pow(r1408847, r1408849);
double r1408851 = r1408842 * r1408850;
double r1408852 = r1408839 + r1408851;
return r1408852;
}
double f(double F, double B, double x) {
double r1408853 = x;
double r1408854 = 2.0;
double r1408855 = F;
double r1408856 = fma(r1408855, r1408855, r1408854);
double r1408857 = fma(r1408853, r1408854, r1408856);
double r1408858 = -0.5;
double r1408859 = pow(r1408857, r1408858);
double r1408860 = B;
double r1408861 = sin(r1408860);
double r1408862 = cbrt(r1408861);
double r1408863 = r1408862 * r1408862;
double r1408864 = r1408859 / r1408863;
double r1408865 = r1408864 * r1408855;
double r1408866 = 1.0;
double r1408867 = r1408866 / r1408862;
double r1408868 = r1408865 * r1408867;
double r1408869 = tan(r1408860);
double r1408870 = r1408853 / r1408869;
double r1408871 = r1408868 - r1408870;
return r1408871;
}



Bits error versus F



Bits error versus B



Bits error versus x
Initial program 13.3
Simplified13.2
rmApplied div-inv13.2
Applied associate-*r*10.7
rmApplied add-cube-cbrt11.0
Applied *-un-lft-identity11.0
Applied times-frac11.0
Applied associate-*r*11.0
Simplified11.0
Final simplification11.0
herbie shell --seed 2019151 +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))))))