\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.758930516841978210246323496861710927032 \cdot 10^{97}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2 \cdot t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \left(\sqrt{2} \cdot t + \frac{2 \cdot t}{\sqrt{2} \cdot x}\right)\right) - \frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x}}\\
\mathbf{elif}\;t \le 4.225315466536892026145009010018028395833 \cdot 10^{92}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(\ell \cdot \frac{\ell}{x} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(-\frac{2 \cdot t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)}\right) + \left(\frac{2 \cdot t}{\sqrt{2} \cdot x} + \left(\frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x} + \sqrt{2} \cdot t\right)\right)}\\
\end{array}double f(double x, double l, double t) {
double r1386405 = 2.0;
double r1386406 = sqrt(r1386405);
double r1386407 = t;
double r1386408 = r1386406 * r1386407;
double r1386409 = x;
double r1386410 = 1.0;
double r1386411 = r1386409 + r1386410;
double r1386412 = r1386409 - r1386410;
double r1386413 = r1386411 / r1386412;
double r1386414 = l;
double r1386415 = r1386414 * r1386414;
double r1386416 = r1386407 * r1386407;
double r1386417 = r1386405 * r1386416;
double r1386418 = r1386415 + r1386417;
double r1386419 = r1386413 * r1386418;
double r1386420 = r1386419 - r1386415;
double r1386421 = sqrt(r1386420);
double r1386422 = r1386408 / r1386421;
return r1386422;
}
double f(double x, double l, double t) {
double r1386423 = t;
double r1386424 = -6.758930516841978e+97;
bool r1386425 = r1386423 <= r1386424;
double r1386426 = 2.0;
double r1386427 = sqrt(r1386426);
double r1386428 = r1386427 * r1386423;
double r1386429 = r1386426 * r1386423;
double r1386430 = x;
double r1386431 = r1386430 * r1386430;
double r1386432 = r1386426 * r1386427;
double r1386433 = r1386431 * r1386432;
double r1386434 = r1386429 / r1386433;
double r1386435 = r1386427 * r1386430;
double r1386436 = r1386429 / r1386435;
double r1386437 = r1386428 + r1386436;
double r1386438 = r1386434 - r1386437;
double r1386439 = r1386429 / r1386427;
double r1386440 = r1386439 / r1386431;
double r1386441 = r1386438 - r1386440;
double r1386442 = r1386428 / r1386441;
double r1386443 = 4.225315466536892e+92;
bool r1386444 = r1386423 <= r1386443;
double r1386445 = l;
double r1386446 = r1386445 / r1386430;
double r1386447 = r1386445 * r1386446;
double r1386448 = r1386423 * r1386423;
double r1386449 = r1386447 + r1386448;
double r1386450 = r1386426 * r1386449;
double r1386451 = 4.0;
double r1386452 = r1386430 / r1386448;
double r1386453 = r1386451 / r1386452;
double r1386454 = r1386450 + r1386453;
double r1386455 = sqrt(r1386454);
double r1386456 = r1386428 / r1386455;
double r1386457 = -r1386434;
double r1386458 = r1386440 + r1386428;
double r1386459 = r1386436 + r1386458;
double r1386460 = r1386457 + r1386459;
double r1386461 = r1386428 / r1386460;
double r1386462 = r1386444 ? r1386456 : r1386461;
double r1386463 = r1386425 ? r1386442 : r1386462;
return r1386463;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.758930516841978e+97Initial program 49.7
Taylor expanded around -inf 3.2
Simplified3.2
if -6.758930516841978e+97 < t < 4.225315466536892e+92Initial program 38.5
Taylor expanded around inf 17.8
Simplified17.8
rmApplied *-un-lft-identity17.8
Applied times-frac13.2
Simplified13.2
if 4.225315466536892e+92 < t Initial program 49.3
Taylor expanded around inf 2.8
Simplified2.8
Final simplification9.0
herbie shell --seed 2019171
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))