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



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)))))