\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 -5.46836238557398334 \cdot 10^{53}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le 6.80802802923376519 \cdot 10^{-195}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le 9.713260788920249 \cdot 10^{-169}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\mathbf{elif}\;t \le 1.6087988485326171 \cdot 10^{131}:\\
\;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r35722 = 2.0;
double r35723 = sqrt(r35722);
double r35724 = t;
double r35725 = r35723 * r35724;
double r35726 = x;
double r35727 = 1.0;
double r35728 = r35726 + r35727;
double r35729 = r35726 - r35727;
double r35730 = r35728 / r35729;
double r35731 = l;
double r35732 = r35731 * r35731;
double r35733 = r35724 * r35724;
double r35734 = r35722 * r35733;
double r35735 = r35732 + r35734;
double r35736 = r35730 * r35735;
double r35737 = r35736 - r35732;
double r35738 = sqrt(r35737);
double r35739 = r35725 / r35738;
return r35739;
}
double f(double x, double l, double t) {
double r35740 = t;
double r35741 = -5.468362385573983e+53;
bool r35742 = r35740 <= r35741;
double r35743 = 2.0;
double r35744 = sqrt(r35743);
double r35745 = r35744 * r35740;
double r35746 = 3.0;
double r35747 = pow(r35744, r35746);
double r35748 = x;
double r35749 = 2.0;
double r35750 = pow(r35748, r35749);
double r35751 = r35747 * r35750;
double r35752 = r35740 / r35751;
double r35753 = r35744 * r35750;
double r35754 = r35740 / r35753;
double r35755 = r35744 * r35748;
double r35756 = r35740 / r35755;
double r35757 = r35740 * r35744;
double r35758 = fma(r35743, r35756, r35757);
double r35759 = fma(r35743, r35754, r35758);
double r35760 = -r35759;
double r35761 = fma(r35743, r35752, r35760);
double r35762 = r35745 / r35761;
double r35763 = 6.808028029233765e-195;
bool r35764 = r35740 <= r35763;
double r35765 = pow(r35740, r35749);
double r35766 = l;
double r35767 = fabs(r35766);
double r35768 = r35767 / r35748;
double r35769 = r35767 * r35768;
double r35770 = 4.0;
double r35771 = r35765 / r35748;
double r35772 = r35770 * r35771;
double r35773 = fma(r35743, r35769, r35772);
double r35774 = fma(r35743, r35765, r35773);
double r35775 = sqrt(r35774);
double r35776 = r35745 / r35775;
double r35777 = 9.713260788920249e-169;
bool r35778 = r35740 <= r35777;
double r35779 = r35743 * r35752;
double r35780 = r35758 - r35779;
double r35781 = fma(r35743, r35754, r35780);
double r35782 = r35745 / r35781;
double r35783 = 1.608798848532617e+131;
bool r35784 = r35740 <= r35783;
double r35785 = sqrt(r35744);
double r35786 = r35785 * r35740;
double r35787 = r35785 * r35786;
double r35788 = r35787 / r35775;
double r35789 = r35784 ? r35788 : r35782;
double r35790 = r35778 ? r35782 : r35789;
double r35791 = r35764 ? r35776 : r35790;
double r35792 = r35742 ? r35762 : r35791;
return r35792;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -5.468362385573983e+53Initial program 44.6
Taylor expanded around -inf 3.7
Simplified3.7
if -5.468362385573983e+53 < t < 6.808028029233765e-195Initial program 45.7
Taylor expanded around inf 22.1
Simplified22.1
rmApplied *-un-lft-identity22.1
Applied add-sqr-sqrt22.1
Applied times-frac22.1
Simplified22.1
Simplified18.6
if 6.808028029233765e-195 < t < 9.713260788920249e-169 or 1.608798848532617e+131 < t Initial program 57.5
Taylor expanded around inf 5.3
Simplified5.3
if 9.713260788920249e-169 < t < 1.608798848532617e+131Initial program 27.1
Taylor expanded around inf 12.1
Simplified12.1
rmApplied *-un-lft-identity12.1
Applied add-sqr-sqrt12.1
Applied times-frac12.1
Simplified12.1
Simplified6.6
rmApplied add-sqr-sqrt6.6
Applied sqrt-prod6.8
Applied associate-*l*6.6
Final simplification9.6
herbie shell --seed 2020057 +o rules:numerics
(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)))))