\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 -16678696720617.19:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{-\left(2 \cdot \frac{t}{x \cdot \sqrt{2}} + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 1.7265785379062208 \cdot 10^{+93}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\left(t \cdot t + \frac{\ell}{x} \cdot \ell\right) \cdot 2 + 4 \cdot \frac{t \cdot t}{x}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x} \cdot 2 + \sqrt{2} \cdot t\right) + \left(\frac{2 \cdot t}{x \cdot \sqrt{2}} - \frac{t}{2 \cdot \sqrt{2}} \cdot \frac{2}{x \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r602514 = 2.0;
double r602515 = sqrt(r602514);
double r602516 = t;
double r602517 = r602515 * r602516;
double r602518 = x;
double r602519 = 1.0;
double r602520 = r602518 + r602519;
double r602521 = r602518 - r602519;
double r602522 = r602520 / r602521;
double r602523 = l;
double r602524 = r602523 * r602523;
double r602525 = r602516 * r602516;
double r602526 = r602514 * r602525;
double r602527 = r602524 + r602526;
double r602528 = r602522 * r602527;
double r602529 = r602528 - r602524;
double r602530 = sqrt(r602529);
double r602531 = r602517 / r602530;
return r602531;
}
double f(double x, double l, double t) {
double r602532 = t;
double r602533 = -16678696720617.19;
bool r602534 = r602532 <= r602533;
double r602535 = 2.0;
double r602536 = sqrt(r602535);
double r602537 = r602536 * r602532;
double r602538 = x;
double r602539 = r602538 * r602536;
double r602540 = r602532 / r602539;
double r602541 = r602535 * r602540;
double r602542 = r602541 + r602537;
double r602543 = -r602542;
double r602544 = r602537 / r602543;
double r602545 = 1.7265785379062208e+93;
bool r602546 = r602532 <= r602545;
double r602547 = r602532 * r602532;
double r602548 = l;
double r602549 = r602548 / r602538;
double r602550 = r602549 * r602548;
double r602551 = r602547 + r602550;
double r602552 = r602551 * r602535;
double r602553 = 4.0;
double r602554 = r602547 / r602538;
double r602555 = r602553 * r602554;
double r602556 = r602552 + r602555;
double r602557 = sqrt(r602556);
double r602558 = r602537 / r602557;
double r602559 = r602532 / r602536;
double r602560 = r602538 * r602538;
double r602561 = r602559 / r602560;
double r602562 = r602561 * r602535;
double r602563 = r602562 + r602537;
double r602564 = r602535 * r602532;
double r602565 = r602564 / r602539;
double r602566 = r602535 * r602536;
double r602567 = r602532 / r602566;
double r602568 = r602535 / r602560;
double r602569 = r602567 * r602568;
double r602570 = r602565 - r602569;
double r602571 = r602563 + r602570;
double r602572 = r602537 / r602571;
double r602573 = r602546 ? r602558 : r602572;
double r602574 = r602534 ? r602544 : r602573;
return r602574;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -16678696720617.19Initial program 42.4
Taylor expanded around inf 40.2
Simplified40.2
Taylor expanded around -inf 5.4
if -16678696720617.19 < t < 1.7265785379062208e+93Initial program 39.4
Taylor expanded around inf 18.0
Simplified18.0
rmApplied *-un-lft-identity18.0
Applied times-frac13.9
Simplified13.9
if 1.7265785379062208e+93 < t Initial program 49.5
Taylor expanded around inf 2.3
Simplified2.3
Final simplification9.2
herbie shell --seed 2019155
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))