\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.119405439423089867203146765811076001304 \cdot 10^{70}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le 8.86147010598633230544602480928406231461 \cdot 10^{103}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\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 r34900 = 2.0;
double r34901 = sqrt(r34900);
double r34902 = t;
double r34903 = r34901 * r34902;
double r34904 = x;
double r34905 = 1.0;
double r34906 = r34904 + r34905;
double r34907 = r34904 - r34905;
double r34908 = r34906 / r34907;
double r34909 = l;
double r34910 = r34909 * r34909;
double r34911 = r34902 * r34902;
double r34912 = r34900 * r34911;
double r34913 = r34910 + r34912;
double r34914 = r34908 * r34913;
double r34915 = r34914 - r34910;
double r34916 = sqrt(r34915);
double r34917 = r34903 / r34916;
return r34917;
}
double f(double x, double l, double t) {
double r34918 = t;
double r34919 = -1.1194054394230899e+70;
bool r34920 = r34918 <= r34919;
double r34921 = 2.0;
double r34922 = sqrt(r34921);
double r34923 = r34922 * r34918;
double r34924 = 3.0;
double r34925 = pow(r34922, r34924);
double r34926 = x;
double r34927 = 2.0;
double r34928 = pow(r34926, r34927);
double r34929 = r34925 * r34928;
double r34930 = r34918 / r34929;
double r34931 = r34921 * r34930;
double r34932 = r34922 * r34926;
double r34933 = r34918 / r34932;
double r34934 = r34921 * r34933;
double r34935 = r34918 * r34922;
double r34936 = r34934 + r34935;
double r34937 = r34931 - r34936;
double r34938 = r34923 / r34937;
double r34939 = 8.861470105986332e+103;
bool r34940 = r34918 <= r34939;
double r34941 = 4.0;
double r34942 = pow(r34918, r34927);
double r34943 = r34942 / r34926;
double r34944 = r34941 * r34943;
double r34945 = l;
double r34946 = r34926 / r34945;
double r34947 = r34945 / r34946;
double r34948 = r34942 + r34947;
double r34949 = r34921 * r34948;
double r34950 = r34944 + r34949;
double r34951 = sqrt(r34950);
double r34952 = r34923 / r34951;
double r34953 = r34922 * r34928;
double r34954 = r34918 / r34953;
double r34955 = r34954 + r34933;
double r34956 = r34921 * r34955;
double r34957 = r34923 - r34931;
double r34958 = r34956 + r34957;
double r34959 = r34923 / r34958;
double r34960 = r34940 ? r34952 : r34959;
double r34961 = r34920 ? r34938 : r34960;
return r34961;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.1194054394230899e+70Initial program 47.3
Taylor expanded around inf 46.1
Simplified46.1
Taylor expanded around -inf 3.4
if -1.1194054394230899e+70 < t < 8.861470105986332e+103Initial program 38.1
Taylor expanded around inf 18.0
Simplified18.0
rmApplied unpow218.0
Applied associate-/l*13.8
if 8.861470105986332e+103 < t Initial program 50.3
Taylor expanded around inf 3.0
Simplified3.0
Final simplification9.3
herbie shell --seed 2019356
(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)))))