\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 -1.497186697554710081473314925566838223756 \cdot 10^{82}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le -7.265062434046062880671280333196464651815 \cdot 10^{-166}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2 + 4 \cdot \frac{{t}^{2}}{x}}}\\
\mathbf{elif}\;t \le -3.600112372186980511777207822247642078219 \cdot 10^{-276}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 6.841551951533339534532177087886888745651 \cdot 10^{60}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) \cdot 2 + 4 \cdot \frac{{t}^{2}}{x}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right) - \frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r43756 = 2.0;
double r43757 = sqrt(r43756);
double r43758 = t;
double r43759 = r43757 * r43758;
double r43760 = x;
double r43761 = 1.0;
double r43762 = r43760 + r43761;
double r43763 = r43760 - r43761;
double r43764 = r43762 / r43763;
double r43765 = l;
double r43766 = r43765 * r43765;
double r43767 = r43758 * r43758;
double r43768 = r43756 * r43767;
double r43769 = r43766 + r43768;
double r43770 = r43764 * r43769;
double r43771 = r43770 - r43766;
double r43772 = sqrt(r43771);
double r43773 = r43759 / r43772;
return r43773;
}
double f(double x, double l, double t) {
double r43774 = t;
double r43775 = -1.49718669755471e+82;
bool r43776 = r43774 <= r43775;
double r43777 = 2.0;
double r43778 = sqrt(r43777);
double r43779 = r43778 * r43774;
double r43780 = x;
double r43781 = 2.0;
double r43782 = pow(r43780, r43781);
double r43783 = r43774 / r43782;
double r43784 = r43778 * r43777;
double r43785 = r43777 / r43784;
double r43786 = r43777 / r43778;
double r43787 = r43785 - r43786;
double r43788 = r43783 * r43787;
double r43789 = r43788 - r43779;
double r43790 = r43778 * r43780;
double r43791 = r43774 / r43790;
double r43792 = r43777 * r43791;
double r43793 = r43789 - r43792;
double r43794 = r43779 / r43793;
double r43795 = -7.265062434046063e-166;
bool r43796 = r43774 <= r43795;
double r43797 = r43774 * r43778;
double r43798 = l;
double r43799 = r43780 / r43798;
double r43800 = r43798 / r43799;
double r43801 = r43774 * r43774;
double r43802 = r43800 + r43801;
double r43803 = r43802 * r43777;
double r43804 = 4.0;
double r43805 = pow(r43774, r43781);
double r43806 = r43805 / r43780;
double r43807 = r43804 * r43806;
double r43808 = r43803 + r43807;
double r43809 = sqrt(r43808);
double r43810 = r43797 / r43809;
double r43811 = -3.6001123721869805e-276;
bool r43812 = r43774 <= r43811;
double r43813 = 6.84155195153334e+60;
bool r43814 = r43774 <= r43813;
double r43815 = r43792 + r43797;
double r43816 = r43815 - r43788;
double r43817 = r43779 / r43816;
double r43818 = r43814 ? r43810 : r43817;
double r43819 = r43812 ? r43794 : r43818;
double r43820 = r43796 ? r43810 : r43819;
double r43821 = r43776 ? r43794 : r43820;
return r43821;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.49718669755471e+82 or -7.265062434046063e-166 < t < -3.6001123721869805e-276Initial program 52.7
Taylor expanded around -inf 11.4
Simplified11.4
if -1.49718669755471e+82 < t < -7.265062434046063e-166 or -3.6001123721869805e-276 < t < 6.84155195153334e+60Initial program 36.4
Taylor expanded around inf 16.1
Simplified16.1
rmApplied sqr-pow16.1
Applied associate-/l*11.6
Simplified11.6
if 6.84155195153334e+60 < t Initial program 45.6
Taylor expanded around inf 3.4
Simplified3.4
Final simplification9.6
herbie shell --seed 2019325
(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)))))