\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\frac{1}{\sin B} - \frac{1}{\frac{\tan B}{x \cdot 1}}double f(double B, double x) {
double r42523 = x;
double r42524 = 1.0;
double r42525 = B;
double r42526 = tan(r42525);
double r42527 = r42524 / r42526;
double r42528 = r42523 * r42527;
double r42529 = -r42528;
double r42530 = sin(r42525);
double r42531 = r42524 / r42530;
double r42532 = r42529 + r42531;
return r42532;
}
double f(double B, double x) {
double r42533 = 1.0;
double r42534 = B;
double r42535 = sin(r42534);
double r42536 = r42533 / r42535;
double r42537 = 1.0;
double r42538 = tan(r42534);
double r42539 = x;
double r42540 = r42539 * r42533;
double r42541 = r42538 / r42540;
double r42542 = r42537 / r42541;
double r42543 = r42536 - r42542;
return r42543;
}



Bits error versus B



Bits error versus x
Results
Initial program 0.2
Simplified0.2
rmApplied associate-*r/0.2
rmApplied clear-num0.2
Final simplification0.2
herbie shell --seed 2019212 +o rules:numerics
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
:precision binary64
(+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))