\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 -4.318745676503489222703826814331080490651 \cdot 10^{101}:\\
\;\;\;\;\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 2.555309788910298182685313601676848640915 \cdot 10^{120}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({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 r43509 = 2.0;
double r43510 = sqrt(r43509);
double r43511 = t;
double r43512 = r43510 * r43511;
double r43513 = x;
double r43514 = 1.0;
double r43515 = r43513 + r43514;
double r43516 = r43513 - r43514;
double r43517 = r43515 / r43516;
double r43518 = l;
double r43519 = r43518 * r43518;
double r43520 = r43511 * r43511;
double r43521 = r43509 * r43520;
double r43522 = r43519 + r43521;
double r43523 = r43517 * r43522;
double r43524 = r43523 - r43519;
double r43525 = sqrt(r43524);
double r43526 = r43512 / r43525;
return r43526;
}
double f(double x, double l, double t) {
double r43527 = t;
double r43528 = -4.318745676503489e+101;
bool r43529 = r43527 <= r43528;
double r43530 = 2.0;
double r43531 = sqrt(r43530);
double r43532 = r43531 * r43527;
double r43533 = 3.0;
double r43534 = pow(r43531, r43533);
double r43535 = x;
double r43536 = 2.0;
double r43537 = pow(r43535, r43536);
double r43538 = r43534 * r43537;
double r43539 = r43527 / r43538;
double r43540 = r43531 * r43537;
double r43541 = r43527 / r43540;
double r43542 = r43539 - r43541;
double r43543 = r43530 * r43542;
double r43544 = r43543 - r43532;
double r43545 = r43531 * r43535;
double r43546 = r43527 / r43545;
double r43547 = r43530 * r43546;
double r43548 = r43544 - r43547;
double r43549 = r43532 / r43548;
double r43550 = 2.5553097889102982e+120;
bool r43551 = r43527 <= r43550;
double r43552 = cbrt(r43531);
double r43553 = r43552 * r43552;
double r43554 = r43552 * r43527;
double r43555 = r43553 * r43554;
double r43556 = 4.0;
double r43557 = pow(r43527, r43536);
double r43558 = r43557 / r43535;
double r43559 = r43556 * r43558;
double r43560 = l;
double r43561 = 1.0;
double r43562 = pow(r43560, r43561);
double r43563 = r43535 / r43560;
double r43564 = r43562 / r43563;
double r43565 = r43557 + r43564;
double r43566 = r43530 * r43565;
double r43567 = r43559 + r43566;
double r43568 = sqrt(r43567);
double r43569 = r43555 / r43568;
double r43570 = r43541 + r43546;
double r43571 = r43530 * r43570;
double r43572 = r43530 * r43539;
double r43573 = r43532 - r43572;
double r43574 = r43571 + r43573;
double r43575 = r43532 / r43574;
double r43576 = r43551 ? r43569 : r43575;
double r43577 = r43529 ? r43549 : r43576;
return r43577;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -4.318745676503489e+101Initial program 50.3
Taylor expanded around -inf 2.8
Simplified2.8
if -4.318745676503489e+101 < t < 2.5553097889102982e+120Initial program 36.8
Taylor expanded around inf 17.0
Simplified17.0
rmApplied sqr-pow17.0
Applied associate-/l*12.7
Simplified12.7
rmApplied add-cube-cbrt12.7
Applied associate-*l*12.7
if 2.5553097889102982e+120 < t Initial program 53.8
Taylor expanded around inf 2.5
Simplified2.5
Final simplification8.8
herbie shell --seed 2019322
(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)))))