\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 -6.6130423635408518 \cdot 10^{151}:\\
\;\;\;\;\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 -4.8731486025056558 \cdot 10^{-210}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \ell \cdot \frac{\ell}{x}\right)}}\\
\mathbf{elif}\;t \le -4.0649996317434177 \cdot 10^{-265}:\\
\;\;\;\;\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 3.5534422416304239 \cdot 10^{152}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \ell \cdot \frac{\ell}{x}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\end{array}double f(double x, double l, double t) {
double r34873 = 2.0;
double r34874 = sqrt(r34873);
double r34875 = t;
double r34876 = r34874 * r34875;
double r34877 = x;
double r34878 = 1.0;
double r34879 = r34877 + r34878;
double r34880 = r34877 - r34878;
double r34881 = r34879 / r34880;
double r34882 = l;
double r34883 = r34882 * r34882;
double r34884 = r34875 * r34875;
double r34885 = r34873 * r34884;
double r34886 = r34883 + r34885;
double r34887 = r34881 * r34886;
double r34888 = r34887 - r34883;
double r34889 = sqrt(r34888);
double r34890 = r34876 / r34889;
return r34890;
}
double f(double x, double l, double t) {
double r34891 = t;
double r34892 = -6.613042363540852e+151;
bool r34893 = r34891 <= r34892;
double r34894 = 2.0;
double r34895 = sqrt(r34894);
double r34896 = r34895 * r34891;
double r34897 = 3.0;
double r34898 = pow(r34895, r34897);
double r34899 = x;
double r34900 = 2.0;
double r34901 = pow(r34899, r34900);
double r34902 = r34898 * r34901;
double r34903 = r34891 / r34902;
double r34904 = r34895 * r34901;
double r34905 = r34891 / r34904;
double r34906 = r34903 - r34905;
double r34907 = r34894 * r34906;
double r34908 = r34907 - r34896;
double r34909 = r34895 * r34899;
double r34910 = r34891 / r34909;
double r34911 = r34894 * r34910;
double r34912 = r34908 - r34911;
double r34913 = r34896 / r34912;
double r34914 = -4.873148602505656e-210;
bool r34915 = r34891 <= r34914;
double r34916 = 4.0;
double r34917 = pow(r34891, r34900);
double r34918 = r34917 / r34899;
double r34919 = r34916 * r34918;
double r34920 = l;
double r34921 = r34920 / r34899;
double r34922 = r34920 * r34921;
double r34923 = r34917 + r34922;
double r34924 = r34894 * r34923;
double r34925 = r34919 + r34924;
double r34926 = sqrt(r34925);
double r34927 = r34896 / r34926;
double r34928 = -4.064999631743418e-265;
bool r34929 = r34891 <= r34928;
double r34930 = 3.553442241630424e+152;
bool r34931 = r34891 <= r34930;
double r34932 = r34891 * r34895;
double r34933 = r34911 + r34932;
double r34934 = r34894 * r34903;
double r34935 = r34933 - r34934;
double r34936 = r34896 / r34935;
double r34937 = r34931 ? r34927 : r34936;
double r34938 = r34929 ? r34913 : r34937;
double r34939 = r34915 ? r34927 : r34938;
double r34940 = r34893 ? r34913 : r34939;
return r34940;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.613042363540852e+151 or -4.873148602505656e-210 < t < -4.064999631743418e-265Initial program 61.9
Taylor expanded around -inf 7.5
Simplified7.5
if -6.613042363540852e+151 < t < -4.873148602505656e-210 or -4.064999631743418e-265 < t < 3.553442241630424e+152Initial program 33.5
Taylor expanded around inf 16.3
Simplified16.3
rmApplied *-un-lft-identity16.3
Applied add-sqr-sqrt39.6
Applied unpow-prod-down39.6
Applied times-frac37.0
Simplified37.0
Simplified11.2
if 3.553442241630424e+152 < t Initial program 62.2
Taylor expanded around inf 62.6
Simplified62.6
Taylor expanded around inf 2.2
Final simplification9.2
herbie shell --seed 2020018
(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)))))