\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{{\left({\left(\left(2 \cdot x + F \cdot F\right) + 2\right)}^{\frac{-1}{2}}\right)}^{\frac{1}{2}} \cdot \frac{{\left(\left(2 \cdot x + F \cdot F\right) + 2\right)}^{\frac{-1}{4}}}{\sin B}}{\frac{1}{F}} - \frac{x}{\tan B}double f(double F, double B, double x) {
double r1172295 = x;
double r1172296 = 1.0;
double r1172297 = B;
double r1172298 = tan(r1172297);
double r1172299 = r1172296 / r1172298;
double r1172300 = r1172295 * r1172299;
double r1172301 = -r1172300;
double r1172302 = F;
double r1172303 = sin(r1172297);
double r1172304 = r1172302 / r1172303;
double r1172305 = r1172302 * r1172302;
double r1172306 = 2.0;
double r1172307 = r1172305 + r1172306;
double r1172308 = r1172306 * r1172295;
double r1172309 = r1172307 + r1172308;
double r1172310 = r1172296 / r1172306;
double r1172311 = -r1172310;
double r1172312 = pow(r1172309, r1172311);
double r1172313 = r1172304 * r1172312;
double r1172314 = r1172301 + r1172313;
return r1172314;
}
double f(double F, double B, double x) {
double r1172315 = 2.0;
double r1172316 = x;
double r1172317 = r1172315 * r1172316;
double r1172318 = F;
double r1172319 = r1172318 * r1172318;
double r1172320 = r1172317 + r1172319;
double r1172321 = r1172320 + r1172315;
double r1172322 = -0.5;
double r1172323 = pow(r1172321, r1172322);
double r1172324 = 0.5;
double r1172325 = pow(r1172323, r1172324);
double r1172326 = -0.25;
double r1172327 = pow(r1172321, r1172326);
double r1172328 = B;
double r1172329 = sin(r1172328);
double r1172330 = r1172327 / r1172329;
double r1172331 = r1172325 * r1172330;
double r1172332 = 1.0;
double r1172333 = r1172332 / r1172318;
double r1172334 = r1172331 / r1172333;
double r1172335 = tan(r1172328);
double r1172336 = r1172316 / r1172335;
double r1172337 = r1172334 - r1172336;
return r1172337;
}



Bits error versus F



Bits error versus B



Bits error versus x
Results
Initial program 13.9
Simplified13.4
rmApplied div-inv13.4
Applied associate-/r*11.0
rmApplied *-un-lft-identity11.0
Applied sqr-pow11.0
Applied times-frac11.0
rmApplied div-inv11.0
Applied pow-unpow11.0
Final simplification11.0
herbie shell --seed 2019152
(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))))))