\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\mathsf{fma}\left(\sqrt[3]{1} \cdot \sqrt[3]{1}, \frac{\sqrt[3]{1}}{\sin B}, -\cos B \cdot \frac{x \cdot 1}{\sin B}\right) + \frac{x \cdot \cos B}{\sin B} \cdot \left(\left(-1\right) + 1\right)double f(double B, double x) {
double r41609 = x;
double r41610 = 1.0;
double r41611 = B;
double r41612 = tan(r41611);
double r41613 = r41610 / r41612;
double r41614 = r41609 * r41613;
double r41615 = -r41614;
double r41616 = sin(r41611);
double r41617 = r41610 / r41616;
double r41618 = r41615 + r41617;
return r41618;
}
double f(double B, double x) {
double r41619 = 1.0;
double r41620 = cbrt(r41619);
double r41621 = r41620 * r41620;
double r41622 = B;
double r41623 = sin(r41622);
double r41624 = r41620 / r41623;
double r41625 = cos(r41622);
double r41626 = x;
double r41627 = r41626 * r41619;
double r41628 = r41627 / r41623;
double r41629 = r41625 * r41628;
double r41630 = -r41629;
double r41631 = fma(r41621, r41624, r41630);
double r41632 = r41626 * r41625;
double r41633 = r41632 / r41623;
double r41634 = -r41619;
double r41635 = r41634 + r41619;
double r41636 = r41633 * r41635;
double r41637 = r41631 + r41636;
return r41637;
}



Bits error versus B



Bits error versus x
Initial program 0.2
Simplified0.2
rmApplied associate-*r/0.1
rmApplied tan-quot0.2
Applied associate-/r/0.2
Applied *-un-lft-identity0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied prod-diff0.2
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019303 +o rules:numerics
(FPCore (B x)
:name "VandenBroeck and Keller, Equation (24)"
:precision binary64
(+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))