\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)}\frac{1}{\sin B} \cdot \left({\left(\mathsf{fma}\left(2, x, \mathsf{fma}\left(F, F, 2\right)\right)\right)}^{\frac{-1}{2}} \cdot F\right) - \frac{x \cdot \cos B}{\sin B}double f(double F, double B, double x) {
double r1901653 = x;
double r1901654 = 1.0;
double r1901655 = B;
double r1901656 = tan(r1901655);
double r1901657 = r1901654 / r1901656;
double r1901658 = r1901653 * r1901657;
double r1901659 = -r1901658;
double r1901660 = F;
double r1901661 = sin(r1901655);
double r1901662 = r1901660 / r1901661;
double r1901663 = r1901660 * r1901660;
double r1901664 = 2.0;
double r1901665 = r1901663 + r1901664;
double r1901666 = r1901664 * r1901653;
double r1901667 = r1901665 + r1901666;
double r1901668 = r1901654 / r1901664;
double r1901669 = -r1901668;
double r1901670 = pow(r1901667, r1901669);
double r1901671 = r1901662 * r1901670;
double r1901672 = r1901659 + r1901671;
return r1901672;
}
double f(double F, double B, double x) {
double r1901673 = 1.0;
double r1901674 = B;
double r1901675 = sin(r1901674);
double r1901676 = r1901673 / r1901675;
double r1901677 = 2.0;
double r1901678 = x;
double r1901679 = F;
double r1901680 = fma(r1901679, r1901679, r1901677);
double r1901681 = fma(r1901677, r1901678, r1901680);
double r1901682 = -0.5;
double r1901683 = pow(r1901681, r1901682);
double r1901684 = r1901683 * r1901679;
double r1901685 = r1901676 * r1901684;
double r1901686 = cos(r1901674);
double r1901687 = r1901678 * r1901686;
double r1901688 = r1901687 / r1901675;
double r1901689 = r1901685 - r1901688;
return r1901689;
}



Bits error versus F



Bits error versus B



Bits error versus x
Initial program 13.6
Simplified13.5
rmApplied div-inv13.5
Applied associate-*r*10.7
rmApplied clear-num10.7
Taylor expanded around inf 10.7
Final simplification10.7
herbie shell --seed 2019158 +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))))))