\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 -1.606623675187166320307147356355623739061 \cdot 10^{75}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 4.894745026611551231238356257343815376774 \cdot 10^{-226} \lor \neg \left(t \le 5.832383717323896654554068457322403291209 \cdot 10^{-160}\right) \land t \le 4869868199152865435985673923804373450752:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{t \cdot \sqrt{2} - 2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r37904 = 2.0;
double r37905 = sqrt(r37904);
double r37906 = t;
double r37907 = r37905 * r37906;
double r37908 = x;
double r37909 = 1.0;
double r37910 = r37908 + r37909;
double r37911 = r37908 - r37909;
double r37912 = r37910 / r37911;
double r37913 = l;
double r37914 = r37913 * r37913;
double r37915 = r37906 * r37906;
double r37916 = r37904 * r37915;
double r37917 = r37914 + r37916;
double r37918 = r37912 * r37917;
double r37919 = r37918 - r37914;
double r37920 = sqrt(r37919);
double r37921 = r37907 / r37920;
return r37921;
}
double f(double x, double l, double t) {
double r37922 = t;
double r37923 = -1.6066236751871663e+75;
bool r37924 = r37922 <= r37923;
double r37925 = 2.0;
double r37926 = sqrt(r37925);
double r37927 = r37926 * r37922;
double r37928 = x;
double r37929 = 2.0;
double r37930 = pow(r37928, r37929);
double r37931 = r37922 / r37930;
double r37932 = r37926 * r37925;
double r37933 = r37925 / r37932;
double r37934 = r37925 / r37926;
double r37935 = r37933 - r37934;
double r37936 = r37931 * r37935;
double r37937 = r37936 - r37927;
double r37938 = r37926 * r37928;
double r37939 = r37922 / r37938;
double r37940 = r37925 * r37939;
double r37941 = r37937 - r37940;
double r37942 = r37927 / r37941;
double r37943 = 4.894745026611551e-226;
bool r37944 = r37922 <= r37943;
double r37945 = 5.832383717323897e-160;
bool r37946 = r37922 <= r37945;
double r37947 = !r37946;
double r37948 = 4.8698681991528654e+39;
bool r37949 = r37922 <= r37948;
bool r37950 = r37947 && r37949;
bool r37951 = r37944 || r37950;
double r37952 = cbrt(r37926);
double r37953 = r37952 * r37952;
double r37954 = r37952 * r37922;
double r37955 = r37953 * r37954;
double r37956 = 4.0;
double r37957 = pow(r37922, r37929);
double r37958 = r37957 / r37928;
double r37959 = r37956 * r37958;
double r37960 = r37922 * r37922;
double r37961 = l;
double r37962 = r37929 / r37929;
double r37963 = pow(r37961, r37962);
double r37964 = r37928 / r37961;
double r37965 = r37963 / r37964;
double r37966 = r37960 + r37965;
double r37967 = r37925 * r37966;
double r37968 = r37959 + r37967;
double r37969 = sqrt(r37968);
double r37970 = r37955 / r37969;
double r37971 = r37922 * r37926;
double r37972 = 3.0;
double r37973 = pow(r37926, r37972);
double r37974 = r37973 * r37930;
double r37975 = r37922 / r37974;
double r37976 = r37975 - r37939;
double r37977 = r37925 * r37976;
double r37978 = r37971 - r37977;
double r37979 = r37927 / r37978;
double r37980 = r37951 ? r37970 : r37979;
double r37981 = r37924 ? r37942 : r37980;
return r37981;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.6066236751871663e+75Initial program 45.7
Taylor expanded around -inf 2.9
Simplified2.9
if -1.6066236751871663e+75 < t < 4.894745026611551e-226 or 5.832383717323897e-160 < t < 4.8698681991528654e+39Initial program 38.5
Taylor expanded around inf 16.4
Simplified16.4
rmApplied sqr-pow16.4
Applied associate-/l*12.5
Simplified12.5
rmApplied add-cube-cbrt12.5
Applied associate-*l*12.5
if 4.894745026611551e-226 < t < 5.832383717323897e-160 or 4.8698681991528654e+39 < t Initial program 47.3
Taylor expanded around inf 42.4
Simplified42.4
rmApplied sqr-pow42.4
Applied associate-/l*40.0
Simplified40.0
Taylor expanded around inf 8.0
Simplified8.0
Final simplification9.0
herbie shell --seed 2019351
(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)))))