\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\begin{array}{l}
\mathbf{if}\;t \le -4.8347804741814161155141156236901357698 \cdot 10^{146}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le 9.99176482679971585890510906753364321574 \cdot 10^{66}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{{\ell}^{1}}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r37900 = 2.0;
double r37901 = sqrt(r37900);
double r37902 = t;
double r37903 = r37901 * r37902;
double r37904 = x;
double r37905 = 1.0;
double r37906 = r37904 + r37905;
double r37907 = r37904 - r37905;
double r37908 = r37906 / r37907;
double r37909 = l;
double r37910 = r37909 * r37909;
double r37911 = r37902 * r37902;
double r37912 = r37900 * r37911;
double r37913 = r37910 + r37912;
double r37914 = r37908 * r37913;
double r37915 = r37914 - r37910;
double r37916 = sqrt(r37915);
double r37917 = r37903 / r37916;
return r37917;
}
double f(double x, double l, double t) {
double r37918 = t;
double r37919 = -4.834780474181416e+146;
bool r37920 = r37918 <= r37919;
double r37921 = 2.0;
double r37922 = sqrt(r37921);
double r37923 = r37922 * r37918;
double r37924 = 3.0;
double r37925 = pow(r37922, r37924);
double r37926 = x;
double r37927 = 2.0;
double r37928 = pow(r37926, r37927);
double r37929 = r37925 * r37928;
double r37930 = r37918 / r37929;
double r37931 = r37922 * r37928;
double r37932 = r37918 / r37931;
double r37933 = r37922 * r37926;
double r37934 = r37918 / r37933;
double r37935 = r37918 * r37922;
double r37936 = fma(r37921, r37934, r37935);
double r37937 = fma(r37921, r37932, r37936);
double r37938 = -r37937;
double r37939 = fma(r37921, r37930, r37938);
double r37940 = r37923 / r37939;
double r37941 = 9.991764826799716e+66;
bool r37942 = r37918 <= r37941;
double r37943 = pow(r37918, r37927);
double r37944 = l;
double r37945 = 1.0;
double r37946 = pow(r37944, r37945);
double r37947 = r37926 / r37944;
double r37948 = r37946 / r37947;
double r37949 = 4.0;
double r37950 = r37943 / r37926;
double r37951 = r37949 * r37950;
double r37952 = fma(r37921, r37948, r37951);
double r37953 = fma(r37921, r37943, r37952);
double r37954 = sqrt(r37953);
double r37955 = r37935 / r37954;
double r37956 = r37921 * r37930;
double r37957 = r37936 - r37956;
double r37958 = fma(r37921, r37932, r37957);
double r37959 = r37923 / r37958;
double r37960 = r37942 ? r37955 : r37959;
double r37961 = r37920 ? r37940 : r37960;
return r37961;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -4.834780474181416e+146Initial program 60.7
Taylor expanded around -inf 1.7
Simplified1.7
if -4.834780474181416e+146 < t < 9.991764826799716e+66Initial program 38.2
Taylor expanded around inf 18.2
Simplified18.2
rmApplied sqr-pow18.2
Applied associate-/l*13.7
Simplified13.7
rmApplied *-commutative13.7
if 9.991764826799716e+66 < t Initial program 46.6
Taylor expanded around inf 3.8
Simplified3.8
Final simplification9.6
herbie shell --seed 2019354 +o rules:numerics
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
:precision binary64
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))