\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.993318142997954691716484067874939498335 \cdot 10^{82}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 1.455305075772437761165849643002614526796 \cdot 10^{123}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(\sqrt{2} \cdot t - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r34952 = 2.0;
double r34953 = sqrt(r34952);
double r34954 = t;
double r34955 = r34953 * r34954;
double r34956 = x;
double r34957 = 1.0;
double r34958 = r34956 + r34957;
double r34959 = r34956 - r34957;
double r34960 = r34958 / r34959;
double r34961 = l;
double r34962 = r34961 * r34961;
double r34963 = r34954 * r34954;
double r34964 = r34952 * r34963;
double r34965 = r34962 + r34964;
double r34966 = r34960 * r34965;
double r34967 = r34966 - r34962;
double r34968 = sqrt(r34967);
double r34969 = r34955 / r34968;
return r34969;
}
double f(double x, double l, double t) {
double r34970 = t;
double r34971 = -1.9933181429979547e+82;
bool r34972 = r34970 <= r34971;
double r34973 = 2.0;
double r34974 = sqrt(r34973);
double r34975 = r34974 * r34970;
double r34976 = 3.0;
double r34977 = pow(r34974, r34976);
double r34978 = x;
double r34979 = 2.0;
double r34980 = pow(r34978, r34979);
double r34981 = r34977 * r34980;
double r34982 = r34970 / r34981;
double r34983 = r34974 * r34980;
double r34984 = r34970 / r34983;
double r34985 = r34982 - r34984;
double r34986 = r34973 * r34985;
double r34987 = r34986 - r34975;
double r34988 = r34974 * r34978;
double r34989 = r34970 / r34988;
double r34990 = r34973 * r34989;
double r34991 = r34987 - r34990;
double r34992 = r34975 / r34991;
double r34993 = 1.4553050757724378e+123;
bool r34994 = r34970 <= r34993;
double r34995 = 4.0;
double r34996 = pow(r34970, r34979);
double r34997 = r34996 / r34978;
double r34998 = r34995 * r34997;
double r34999 = l;
double r35000 = 1.0;
double r35001 = pow(r34999, r35000);
double r35002 = r34978 / r34999;
double r35003 = r35001 / r35002;
double r35004 = r34996 + r35003;
double r35005 = r34973 * r35004;
double r35006 = r34998 + r35005;
double r35007 = sqrt(r35006);
double r35008 = r34975 / r35007;
double r35009 = r34984 + r34989;
double r35010 = r34973 * r35009;
double r35011 = r34973 * r34982;
double r35012 = r34975 - r35011;
double r35013 = r35010 + r35012;
double r35014 = r34975 / r35013;
double r35015 = r34994 ? r35008 : r35014;
double r35016 = r34972 ? r34992 : r35015;
return r35016;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.9933181429979547e+82Initial program 47.1
Taylor expanded around -inf 3.5
Simplified3.5
if -1.9933181429979547e+82 < t < 1.4553050757724378e+123Initial program 38.0
Taylor expanded around inf 17.6
Simplified17.6
rmApplied sqr-pow17.6
Applied associate-/l*13.7
Simplified13.7
if 1.4553050757724378e+123 < t Initial program 55.2
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.4
herbie shell --seed 2019352
(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)))))