\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 -3.6475491705472148 \cdot 10^{125}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - 2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right)\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 2.0489990719913409 \cdot 10^{-272} \lor \neg \left(t \le 2.59765205302792963 \cdot 10^{-253}\right) \land t \le 3.4577470562944996 \cdot 10^{98}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot {t}^{2} + \left(2 \cdot \left(\left|\ell\right| \cdot \frac{\left|\ell\right|}{x}\right) + 4 \cdot \frac{{t}^{2}}{x}\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 r35996 = 2.0;
double r35997 = sqrt(r35996);
double r35998 = t;
double r35999 = r35997 * r35998;
double r36000 = x;
double r36001 = 1.0;
double r36002 = r36000 + r36001;
double r36003 = r36000 - r36001;
double r36004 = r36002 / r36003;
double r36005 = l;
double r36006 = r36005 * r36005;
double r36007 = r35998 * r35998;
double r36008 = r35996 * r36007;
double r36009 = r36006 + r36008;
double r36010 = r36004 * r36009;
double r36011 = r36010 - r36006;
double r36012 = sqrt(r36011);
double r36013 = r35999 / r36012;
return r36013;
}
double f(double x, double l, double t) {
double r36014 = t;
double r36015 = -3.647549170547215e+125;
bool r36016 = r36014 <= r36015;
double r36017 = 2.0;
double r36018 = sqrt(r36017);
double r36019 = r36018 * r36014;
double r36020 = 3.0;
double r36021 = pow(r36018, r36020);
double r36022 = x;
double r36023 = 2.0;
double r36024 = pow(r36022, r36023);
double r36025 = r36021 * r36024;
double r36026 = r36014 / r36025;
double r36027 = r36017 * r36026;
double r36028 = r36018 * r36024;
double r36029 = r36014 / r36028;
double r36030 = r36018 * r36022;
double r36031 = r36014 / r36030;
double r36032 = r36029 + r36031;
double r36033 = r36017 * r36032;
double r36034 = r36027 - r36033;
double r36035 = r36034 - r36019;
double r36036 = r36019 / r36035;
double r36037 = 2.048999071991341e-272;
bool r36038 = r36014 <= r36037;
double r36039 = 2.5976520530279296e-253;
bool r36040 = r36014 <= r36039;
double r36041 = !r36040;
double r36042 = 3.4577470562944996e+98;
bool r36043 = r36014 <= r36042;
bool r36044 = r36041 && r36043;
bool r36045 = r36038 || r36044;
double r36046 = pow(r36014, r36023);
double r36047 = r36017 * r36046;
double r36048 = l;
double r36049 = fabs(r36048);
double r36050 = r36049 / r36022;
double r36051 = r36049 * r36050;
double r36052 = r36017 * r36051;
double r36053 = 4.0;
double r36054 = r36046 / r36022;
double r36055 = r36053 * r36054;
double r36056 = r36052 + r36055;
double r36057 = r36047 + r36056;
double r36058 = sqrt(r36057);
double r36059 = r36019 / r36058;
double r36060 = r36019 - r36027;
double r36061 = r36033 + r36060;
double r36062 = r36019 / r36061;
double r36063 = r36045 ? r36059 : r36062;
double r36064 = r36016 ? r36036 : r36063;
return r36064;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -3.647549170547215e+125Initial program 54.1
Taylor expanded around -inf 2.6
Simplified2.6
if -3.647549170547215e+125 < t < 2.048999071991341e-272 or 2.5976520530279296e-253 < t < 3.4577470562944996e+98Initial program 37.1
Taylor expanded around inf 17.5
rmApplied *-un-lft-identity17.5
Applied add-sqr-sqrt17.5
Applied times-frac17.5
Simplified17.5
Simplified13.2
if 2.048999071991341e-272 < t < 2.5976520530279296e-253 or 3.4577470562944996e+98 < t Initial program 52.2
Taylor expanded around inf 4.8
Simplified4.8
Final simplification9.6
herbie shell --seed 2020043
(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)))))