\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.835726090767108954912351025030367187301 \cdot 10^{135}:\\
\;\;\;\;\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 5.259716730497140175693065871416647553685 \cdot 10^{65}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(\sqrt{{t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}} \cdot \sqrt{{t}^{2} + \frac{{\ell}^{1}}{\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 r43202 = 2.0;
double r43203 = sqrt(r43202);
double r43204 = t;
double r43205 = r43203 * r43204;
double r43206 = x;
double r43207 = 1.0;
double r43208 = r43206 + r43207;
double r43209 = r43206 - r43207;
double r43210 = r43208 / r43209;
double r43211 = l;
double r43212 = r43211 * r43211;
double r43213 = r43204 * r43204;
double r43214 = r43202 * r43213;
double r43215 = r43212 + r43214;
double r43216 = r43210 * r43215;
double r43217 = r43216 - r43212;
double r43218 = sqrt(r43217);
double r43219 = r43205 / r43218;
return r43219;
}
double f(double x, double l, double t) {
double r43220 = t;
double r43221 = -5.835726090767109e+135;
bool r43222 = r43220 <= r43221;
double r43223 = 2.0;
double r43224 = sqrt(r43223);
double r43225 = r43224 * r43220;
double r43226 = 3.0;
double r43227 = pow(r43224, r43226);
double r43228 = x;
double r43229 = 2.0;
double r43230 = pow(r43228, r43229);
double r43231 = r43227 * r43230;
double r43232 = r43220 / r43231;
double r43233 = r43224 * r43230;
double r43234 = r43220 / r43233;
double r43235 = r43232 - r43234;
double r43236 = r43223 * r43235;
double r43237 = r43236 - r43225;
double r43238 = r43224 * r43228;
double r43239 = r43220 / r43238;
double r43240 = r43223 * r43239;
double r43241 = r43237 - r43240;
double r43242 = r43225 / r43241;
double r43243 = 5.25971673049714e+65;
bool r43244 = r43220 <= r43243;
double r43245 = 4.0;
double r43246 = pow(r43220, r43229);
double r43247 = r43246 / r43228;
double r43248 = r43245 * r43247;
double r43249 = l;
double r43250 = 1.0;
double r43251 = pow(r43249, r43250);
double r43252 = r43228 / r43249;
double r43253 = r43251 / r43252;
double r43254 = r43246 + r43253;
double r43255 = sqrt(r43254);
double r43256 = r43255 * r43255;
double r43257 = r43223 * r43256;
double r43258 = r43248 + r43257;
double r43259 = sqrt(r43258);
double r43260 = r43225 / r43259;
double r43261 = r43234 + r43239;
double r43262 = r43223 * r43261;
double r43263 = r43223 * r43232;
double r43264 = r43225 - r43263;
double r43265 = r43262 + r43264;
double r43266 = r43225 / r43265;
double r43267 = r43244 ? r43260 : r43266;
double r43268 = r43222 ? r43242 : r43267;
return r43268;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -5.835726090767109e+135Initial program 57.6
Taylor expanded around -inf 2.3
Simplified2.3
if -5.835726090767109e+135 < t < 5.25971673049714e+65Initial program 37.1
Taylor expanded around inf 17.4
Simplified17.4
rmApplied sqr-pow17.4
Applied associate-/l*13.3
Simplified13.3
rmApplied add-sqr-sqrt13.3
Simplified13.3
Simplified13.3
if 5.25971673049714e+65 < t Initial program 46.7
Taylor expanded around inf 3.6
Simplified3.6
Final simplification9.2
herbie shell --seed 2019297
(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)))))