\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)}\begin{array}{l}
\mathbf{if}\;F \le -225219344219741.5625:\\
\;\;\;\;\left(\frac{\frac{1}{\sin B}}{F \cdot F} - \frac{1}{\sin B}\right) - \frac{x \cdot 1}{\tan B}\\
\mathbf{elif}\;F \le 10637.3795628844945895252749323844909668:\\
\;\;\;\;\frac{F}{\frac{\sin B}{{\left(\sqrt{\sqrt[3]{\left(F \cdot F + 2\right) + x \cdot 2} \cdot \sqrt[3]{\left(F \cdot F + 2\right) + x \cdot 2}} \cdot \sqrt{\sqrt[3]{\left(F \cdot F + 2\right) + x \cdot 2}}\right)}^{\left(\frac{-1}{2}\right)}} \cdot \frac{1}{{\left(\sqrt{\left(F \cdot F + 2\right) + x \cdot 2}\right)}^{\left(\frac{-1}{2}\right)}}} - \frac{x \cdot 1}{\tan B}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{\sin B} - \frac{\frac{1}{\sin B}}{F \cdot F}\right) - \frac{x \cdot 1}{\tan B}\\
\end{array}double f(double F, double B, double x) {
double r2483939 = x;
double r2483940 = 1.0;
double r2483941 = B;
double r2483942 = tan(r2483941);
double r2483943 = r2483940 / r2483942;
double r2483944 = r2483939 * r2483943;
double r2483945 = -r2483944;
double r2483946 = F;
double r2483947 = sin(r2483941);
double r2483948 = r2483946 / r2483947;
double r2483949 = r2483946 * r2483946;
double r2483950 = 2.0;
double r2483951 = r2483949 + r2483950;
double r2483952 = r2483950 * r2483939;
double r2483953 = r2483951 + r2483952;
double r2483954 = r2483940 / r2483950;
double r2483955 = -r2483954;
double r2483956 = pow(r2483953, r2483955);
double r2483957 = r2483948 * r2483956;
double r2483958 = r2483945 + r2483957;
return r2483958;
}
double f(double F, double B, double x) {
double r2483959 = F;
double r2483960 = -225219344219741.56;
bool r2483961 = r2483959 <= r2483960;
double r2483962 = 1.0;
double r2483963 = B;
double r2483964 = sin(r2483963);
double r2483965 = r2483962 / r2483964;
double r2483966 = r2483959 * r2483959;
double r2483967 = r2483965 / r2483966;
double r2483968 = 1.0;
double r2483969 = r2483968 / r2483964;
double r2483970 = r2483967 - r2483969;
double r2483971 = x;
double r2483972 = r2483971 * r2483962;
double r2483973 = tan(r2483963);
double r2483974 = r2483972 / r2483973;
double r2483975 = r2483970 - r2483974;
double r2483976 = 10637.379562884495;
bool r2483977 = r2483959 <= r2483976;
double r2483978 = 2.0;
double r2483979 = r2483966 + r2483978;
double r2483980 = r2483971 * r2483978;
double r2483981 = r2483979 + r2483980;
double r2483982 = cbrt(r2483981);
double r2483983 = r2483982 * r2483982;
double r2483984 = sqrt(r2483983);
double r2483985 = sqrt(r2483982);
double r2483986 = r2483984 * r2483985;
double r2483987 = -r2483962;
double r2483988 = r2483987 / r2483978;
double r2483989 = pow(r2483986, r2483988);
double r2483990 = r2483964 / r2483989;
double r2483991 = sqrt(r2483981);
double r2483992 = pow(r2483991, r2483988);
double r2483993 = r2483968 / r2483992;
double r2483994 = r2483990 * r2483993;
double r2483995 = r2483959 / r2483994;
double r2483996 = r2483995 - r2483974;
double r2483997 = r2483969 - r2483967;
double r2483998 = r2483997 - r2483974;
double r2483999 = r2483977 ? r2483996 : r2483998;
double r2484000 = r2483961 ? r2483975 : r2483999;
return r2484000;
}



Bits error versus F



Bits error versus B



Bits error versus x
Results
if F < -225219344219741.56Initial program 25.2
Simplified19.6
Taylor expanded around -inf 0.1
Simplified0.1
if -225219344219741.56 < F < 10637.379562884495Initial program 0.4
Simplified0.3
rmApplied add-sqr-sqrt0.3
Applied unpow-prod-down0.3
Applied *-un-lft-identity0.3
Applied times-frac0.3
rmApplied add-cube-cbrt0.3
Applied sqrt-prod0.3
if 10637.379562884495 < F Initial program 25.2
Simplified19.2
Taylor expanded around inf 0.1
Simplified0.1
Final simplification0.2
herbie shell --seed 2019179
(FPCore (F B x)
:name "VandenBroeck and Keller, Equation (23)"
(+ (- (* x (/ 1.0 (tan B)))) (* (/ F (sin B)) (pow (+ (+ (* F F) 2.0) (* 2.0 x)) (- (/ 1.0 2.0))))))