\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 -2.0601772131107726 \cdot 10^{86}:\\
\;\;\;\;\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 -3.16324408029642257 \cdot 10^{-211}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\frac{x}{\ell}}\right)}}\\
\mathbf{elif}\;t \le -3.6355688622973884 \cdot 10^{-245}:\\
\;\;\;\;\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.41175980383531397 \cdot 10^{-13}:\\
\;\;\;\;\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 r36907 = 2.0;
double r36908 = sqrt(r36907);
double r36909 = t;
double r36910 = r36908 * r36909;
double r36911 = x;
double r36912 = 1.0;
double r36913 = r36911 + r36912;
double r36914 = r36911 - r36912;
double r36915 = r36913 / r36914;
double r36916 = l;
double r36917 = r36916 * r36916;
double r36918 = r36909 * r36909;
double r36919 = r36907 * r36918;
double r36920 = r36917 + r36919;
double r36921 = r36915 * r36920;
double r36922 = r36921 - r36917;
double r36923 = sqrt(r36922);
double r36924 = r36910 / r36923;
return r36924;
}
double f(double x, double l, double t) {
double r36925 = t;
double r36926 = -2.0601772131107726e+86;
bool r36927 = r36925 <= r36926;
double r36928 = 2.0;
double r36929 = sqrt(r36928);
double r36930 = r36929 * r36925;
double r36931 = 3.0;
double r36932 = pow(r36929, r36931);
double r36933 = x;
double r36934 = 2.0;
double r36935 = pow(r36933, r36934);
double r36936 = r36932 * r36935;
double r36937 = r36925 / r36936;
double r36938 = r36928 * r36937;
double r36939 = r36929 * r36933;
double r36940 = r36925 / r36939;
double r36941 = r36928 * r36940;
double r36942 = r36925 * r36929;
double r36943 = r36941 + r36942;
double r36944 = r36938 - r36943;
double r36945 = r36930 / r36944;
double r36946 = -3.1632440802964226e-211;
bool r36947 = r36925 <= r36946;
double r36948 = 4.0;
double r36949 = pow(r36925, r36934);
double r36950 = r36949 / r36933;
double r36951 = r36948 * r36950;
double r36952 = l;
double r36953 = r36933 / r36952;
double r36954 = r36952 / r36953;
double r36955 = r36949 + r36954;
double r36956 = r36928 * r36955;
double r36957 = r36951 + r36956;
double r36958 = sqrt(r36957);
double r36959 = r36930 / r36958;
double r36960 = -3.6355688622973884e-245;
bool r36961 = r36925 <= r36960;
double r36962 = 8.411759803835314e-13;
bool r36963 = r36925 <= r36962;
double r36964 = r36929 * r36935;
double r36965 = r36925 / r36964;
double r36966 = r36965 + r36940;
double r36967 = r36928 * r36966;
double r36968 = r36930 - r36938;
double r36969 = r36967 + r36968;
double r36970 = r36930 / r36969;
double r36971 = r36963 ? r36959 : r36970;
double r36972 = r36961 ? r36945 : r36971;
double r36973 = r36947 ? r36959 : r36972;
double r36974 = r36927 ? r36945 : r36973;
return r36974;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.0601772131107726e+86 or -3.1632440802964226e-211 < t < -3.6355688622973884e-245Initial program 49.6
Taylor expanded around inf 46.3
Simplified46.3
rmApplied unpow246.3
Applied associate-/l*44.0
Taylor expanded around -inf 7.0
if -2.0601772131107726e+86 < t < -3.1632440802964226e-211 or -3.6355688622973884e-245 < t < 8.411759803835314e-13Initial program 41.0
Taylor expanded around inf 18.4
Simplified18.4
rmApplied unpow218.4
Applied associate-/l*14.3
if 8.411759803835314e-13 < t Initial program 40.0
Taylor expanded around inf 6.0
Simplified5.9
Final simplification10.1
herbie shell --seed 2020021
(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)))))