\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.172764092322424109949396121339735582564 \cdot 10^{59}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x} - \left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right)\right) - \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 1.623710652061729557401163312786003220273 \cdot 10^{60}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\frac{t \cdot t}{x} \cdot 4 + 2 \cdot \left(\sqrt{\ell \cdot \frac{\ell}{x} + t \cdot t} \cdot \sqrt{\ell \cdot \frac{\ell}{x} + t \cdot t}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x} - \frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x}\right) + \left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1517386 = 2.0;
double r1517387 = sqrt(r1517386);
double r1517388 = t;
double r1517389 = r1517387 * r1517388;
double r1517390 = x;
double r1517391 = 1.0;
double r1517392 = r1517390 + r1517391;
double r1517393 = r1517390 - r1517391;
double r1517394 = r1517392 / r1517393;
double r1517395 = l;
double r1517396 = r1517395 * r1517395;
double r1517397 = r1517388 * r1517388;
double r1517398 = r1517386 * r1517397;
double r1517399 = r1517396 + r1517398;
double r1517400 = r1517394 * r1517399;
double r1517401 = r1517400 - r1517396;
double r1517402 = sqrt(r1517401);
double r1517403 = r1517389 / r1517402;
return r1517403;
}
double f(double x, double l, double t) {
double r1517404 = t;
double r1517405 = -6.172764092322424e+59;
bool r1517406 = r1517404 <= r1517405;
double r1517407 = 2.0;
double r1517408 = sqrt(r1517407);
double r1517409 = r1517408 * r1517404;
double r1517410 = x;
double r1517411 = r1517407 * r1517408;
double r1517412 = r1517410 * r1517411;
double r1517413 = r1517407 / r1517412;
double r1517414 = r1517404 / r1517410;
double r1517415 = r1517413 * r1517414;
double r1517416 = r1517407 / r1517410;
double r1517417 = r1517404 / r1517408;
double r1517418 = r1517416 * r1517417;
double r1517419 = r1517409 + r1517418;
double r1517420 = r1517415 - r1517419;
double r1517421 = r1517417 / r1517410;
double r1517422 = r1517421 * r1517416;
double r1517423 = r1517420 - r1517422;
double r1517424 = r1517409 / r1517423;
double r1517425 = 1.6237106520617296e+60;
bool r1517426 = r1517404 <= r1517425;
double r1517427 = r1517404 * r1517404;
double r1517428 = r1517427 / r1517410;
double r1517429 = 4.0;
double r1517430 = r1517428 * r1517429;
double r1517431 = l;
double r1517432 = r1517431 / r1517410;
double r1517433 = r1517431 * r1517432;
double r1517434 = r1517433 + r1517427;
double r1517435 = sqrt(r1517434);
double r1517436 = r1517435 * r1517435;
double r1517437 = r1517407 * r1517436;
double r1517438 = r1517430 + r1517437;
double r1517439 = sqrt(r1517438);
double r1517440 = r1517409 / r1517439;
double r1517441 = r1517422 - r1517415;
double r1517442 = r1517441 + r1517419;
double r1517443 = r1517409 / r1517442;
double r1517444 = r1517426 ? r1517440 : r1517443;
double r1517445 = r1517406 ? r1517424 : r1517444;
return r1517445;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.172764092322424e+59Initial program 45.1
Taylor expanded around -inf 3.5
Simplified3.5
if -6.172764092322424e+59 < t < 1.6237106520617296e+60Initial program 40.3
Taylor expanded around inf 17.9
Simplified17.9
rmApplied *-un-lft-identity17.9
Applied times-frac14.5
Simplified14.5
rmApplied add-sqr-sqrt14.5
if 1.6237106520617296e+60 < t Initial program 45.8
Taylor expanded around inf 3.8
Simplified3.8
Final simplification9.3
herbie shell --seed 2019172
(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)))))