\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\mathsf{fma}\left(\frac{x}{\sin B} \cdot \cos B, -1, \frac{1}{\sin B}\right)double f(double B, double x) {
double r23112 = x;
double r23113 = 1.0;
double r23114 = B;
double r23115 = tan(r23114);
double r23116 = r23113 / r23115;
double r23117 = r23112 * r23116;
double r23118 = -r23117;
double r23119 = sin(r23114);
double r23120 = r23113 / r23119;
double r23121 = r23118 + r23120;
return r23121;
}
double f(double B, double x) {
double r23122 = x;
double r23123 = B;
double r23124 = sin(r23123);
double r23125 = r23122 / r23124;
double r23126 = cos(r23123);
double r23127 = r23125 * r23126;
double r23128 = 1.0;
double r23129 = -r23128;
double r23130 = r23128 / r23124;
double r23131 = fma(r23127, r23129, r23130);
return r23131;
}



Bits error versus B



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