\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 -5.8966186448062604 \cdot 10^{70}:\\
\;\;\;\;\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) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - t \cdot \sqrt{2}}\\
\mathbf{elif}\;t \le 1.54970592101093 \cdot 10^{104}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2}}\\
\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(t \cdot \sqrt{2} - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r48980 = 2.0;
double r48981 = sqrt(r48980);
double r48982 = t;
double r48983 = r48981 * r48982;
double r48984 = x;
double r48985 = 1.0;
double r48986 = r48984 + r48985;
double r48987 = r48984 - r48985;
double r48988 = r48986 / r48987;
double r48989 = l;
double r48990 = r48989 * r48989;
double r48991 = r48982 * r48982;
double r48992 = r48980 * r48991;
double r48993 = r48990 + r48992;
double r48994 = r48988 * r48993;
double r48995 = r48994 - r48990;
double r48996 = sqrt(r48995);
double r48997 = r48983 / r48996;
return r48997;
}
double f(double x, double l, double t) {
double r48998 = t;
double r48999 = -5.89661864480626e+70;
bool r49000 = r48998 <= r48999;
double r49001 = 2.0;
double r49002 = sqrt(r49001);
double r49003 = r49002 * r48998;
double r49004 = 3.0;
double r49005 = pow(r49002, r49004);
double r49006 = x;
double r49007 = 2.0;
double r49008 = pow(r49006, r49007);
double r49009 = r49005 * r49008;
double r49010 = r48998 / r49009;
double r49011 = r49002 * r49008;
double r49012 = r48998 / r49011;
double r49013 = r49010 - r49012;
double r49014 = r49001 * r49013;
double r49015 = r49002 * r49006;
double r49016 = r48998 / r49015;
double r49017 = r49001 * r49016;
double r49018 = r49014 - r49017;
double r49019 = r48998 * r49002;
double r49020 = r49018 - r49019;
double r49021 = r49003 / r49020;
double r49022 = 1.5497059210109297e+104;
bool r49023 = r48998 <= r49022;
double r49024 = 4.0;
double r49025 = pow(r48998, r49007);
double r49026 = r49025 / r49006;
double r49027 = r49024 * r49026;
double r49028 = l;
double r49029 = r49006 / r49028;
double r49030 = r49028 / r49029;
double r49031 = r48998 * r48998;
double r49032 = r49030 + r49031;
double r49033 = r49032 * r49001;
double r49034 = r49027 + r49033;
double r49035 = sqrt(r49034);
double r49036 = r49003 / r49035;
double r49037 = r49012 + r49016;
double r49038 = r49001 * r49037;
double r49039 = r49001 * r49010;
double r49040 = r49019 - r49039;
double r49041 = r49038 + r49040;
double r49042 = r49003 / r49041;
double r49043 = r49023 ? r49036 : r49042;
double r49044 = r49000 ? r49021 : r49043;
return r49044;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -5.89661864480626e+70Initial program 47.7
Taylor expanded around -inf 3.7
Simplified3.7
if -5.89661864480626e+70 < t < 1.5497059210109297e+104Initial program 38.6
Taylor expanded around inf 18.8
Simplified18.8
rmApplied sqr-pow18.8
Applied associate-/l*14.4
Simplified14.4
if 1.5497059210109297e+104 < t Initial program 51.9
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.7
herbie shell --seed 2019199
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))