\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.081620194545127 \cdot 10^{+107}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 4.561118037024944 \cdot 10^{+59}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(\frac{\ell}{x} \cdot \ell + t \cdot t\right) + 4 \cdot \frac{t \cdot t}{x}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x} + \sqrt{2} \cdot t\right) - 2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1286741 = 2.0;
double r1286742 = sqrt(r1286741);
double r1286743 = t;
double r1286744 = r1286742 * r1286743;
double r1286745 = x;
double r1286746 = 1.0;
double r1286747 = r1286745 + r1286746;
double r1286748 = r1286745 - r1286746;
double r1286749 = r1286747 / r1286748;
double r1286750 = l;
double r1286751 = r1286750 * r1286750;
double r1286752 = r1286743 * r1286743;
double r1286753 = r1286741 * r1286752;
double r1286754 = r1286751 + r1286753;
double r1286755 = r1286749 * r1286754;
double r1286756 = r1286755 - r1286751;
double r1286757 = sqrt(r1286756);
double r1286758 = r1286744 / r1286757;
return r1286758;
}
double f(double x, double l, double t) {
double r1286759 = t;
double r1286760 = -6.081620194545127e+107;
bool r1286761 = r1286759 <= r1286760;
double r1286762 = 2.0;
double r1286763 = sqrt(r1286762);
double r1286764 = r1286763 * r1286759;
double r1286765 = x;
double r1286766 = r1286765 * r1286765;
double r1286767 = r1286762 * r1286763;
double r1286768 = r1286766 * r1286767;
double r1286769 = r1286759 / r1286768;
double r1286770 = r1286759 / r1286763;
double r1286771 = r1286770 / r1286766;
double r1286772 = r1286769 - r1286771;
double r1286773 = r1286762 * r1286772;
double r1286774 = r1286762 / r1286765;
double r1286775 = r1286770 * r1286774;
double r1286776 = r1286773 - r1286775;
double r1286777 = r1286776 - r1286764;
double r1286778 = r1286764 / r1286777;
double r1286779 = 4.561118037024944e+59;
bool r1286780 = r1286759 <= r1286779;
double r1286781 = l;
double r1286782 = r1286781 / r1286765;
double r1286783 = r1286782 * r1286781;
double r1286784 = r1286759 * r1286759;
double r1286785 = r1286783 + r1286784;
double r1286786 = r1286762 * r1286785;
double r1286787 = 4.0;
double r1286788 = r1286784 / r1286765;
double r1286789 = r1286787 * r1286788;
double r1286790 = r1286786 + r1286789;
double r1286791 = sqrt(r1286790);
double r1286792 = r1286764 / r1286791;
double r1286793 = r1286775 + r1286764;
double r1286794 = r1286793 - r1286773;
double r1286795 = r1286764 / r1286794;
double r1286796 = r1286780 ? r1286792 : r1286795;
double r1286797 = r1286761 ? r1286778 : r1286796;
return r1286797;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.081620194545127e+107Initial program 51.2
Taylor expanded around -inf 2.4
Simplified2.4
if -6.081620194545127e+107 < t < 4.561118037024944e+59Initial program 37.9
Taylor expanded around inf 17.4
Simplified17.4
rmApplied *-un-lft-identity17.4
Applied times-frac13.6
Simplified13.6
if 4.561118037024944e+59 < t Initial program 45.7
Taylor expanded around inf 3.5
Simplified3.5
Final simplification9.0
herbie shell --seed 2019158
(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)))))