\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.940005881918408859869096974602770049363 \cdot 10^{94}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)} - \frac{t}{x \cdot \sqrt{2}}\right) - \frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 1.839658841198905283015739574372348749582 \cdot 10^{-241} \lor \neg \left(t \le 3.247980644380315344262592988201111260205 \cdot 10^{-157}\right) \land t \le 4.214549585149478093549971775733778272653 \cdot 10^{55}:\\
\;\;\;\;\frac{\left(\sqrt{\sqrt{2}} \cdot t\right) \cdot \sqrt{\sqrt{2}}}{\sqrt{\left(2 \cdot \frac{\ell}{\frac{x}{\ell}} + \frac{\left(t \cdot 4\right) \cdot t}{x}\right) + 2 \cdot \left(t \cdot t\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\sqrt{2} \cdot t + \frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x}\right) + \frac{2 \cdot t}{x \cdot \sqrt{2}}\right) - \frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)}}\\
\end{array}double f(double x, double l, double t) {
double r47712 = 2.0;
double r47713 = sqrt(r47712);
double r47714 = t;
double r47715 = r47713 * r47714;
double r47716 = x;
double r47717 = 1.0;
double r47718 = r47716 + r47717;
double r47719 = r47716 - r47717;
double r47720 = r47718 / r47719;
double r47721 = l;
double r47722 = r47721 * r47721;
double r47723 = r47714 * r47714;
double r47724 = r47712 * r47723;
double r47725 = r47722 + r47724;
double r47726 = r47720 * r47725;
double r47727 = r47726 - r47722;
double r47728 = sqrt(r47727);
double r47729 = r47715 / r47728;
return r47729;
}
double f(double x, double l, double t) {
double r47730 = t;
double r47731 = -1.940005881918409e+94;
bool r47732 = r47730 <= r47731;
double r47733 = 2.0;
double r47734 = sqrt(r47733);
double r47735 = r47734 * r47730;
double r47736 = r47733 * r47734;
double r47737 = x;
double r47738 = r47737 * r47737;
double r47739 = r47736 * r47738;
double r47740 = r47730 / r47739;
double r47741 = r47737 * r47734;
double r47742 = r47730 / r47741;
double r47743 = r47740 - r47742;
double r47744 = r47733 * r47743;
double r47745 = r47733 * r47730;
double r47746 = r47745 / r47734;
double r47747 = r47746 / r47738;
double r47748 = r47744 - r47747;
double r47749 = r47748 - r47735;
double r47750 = r47735 / r47749;
double r47751 = 1.8396588411989053e-241;
bool r47752 = r47730 <= r47751;
double r47753 = 3.2479806443803153e-157;
bool r47754 = r47730 <= r47753;
double r47755 = !r47754;
double r47756 = 4.214549585149478e+55;
bool r47757 = r47730 <= r47756;
bool r47758 = r47755 && r47757;
bool r47759 = r47752 || r47758;
double r47760 = sqrt(r47734);
double r47761 = r47760 * r47730;
double r47762 = r47761 * r47760;
double r47763 = l;
double r47764 = r47737 / r47763;
double r47765 = r47763 / r47764;
double r47766 = r47733 * r47765;
double r47767 = 4.0;
double r47768 = r47730 * r47767;
double r47769 = r47768 * r47730;
double r47770 = r47769 / r47737;
double r47771 = r47766 + r47770;
double r47772 = r47730 * r47730;
double r47773 = r47733 * r47772;
double r47774 = r47771 + r47773;
double r47775 = sqrt(r47774);
double r47776 = r47762 / r47775;
double r47777 = r47735 + r47747;
double r47778 = r47745 / r47741;
double r47779 = r47777 + r47778;
double r47780 = r47745 / r47739;
double r47781 = r47779 - r47780;
double r47782 = r47735 / r47781;
double r47783 = r47759 ? r47776 : r47782;
double r47784 = r47732 ? r47750 : r47783;
return r47784;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.940005881918409e+94Initial program 49.9
Taylor expanded around -inf 3.3
Simplified3.4
if -1.940005881918409e+94 < t < 1.8396588411989053e-241 or 3.2479806443803153e-157 < t < 4.214549585149478e+55Initial program 37.0
Taylor expanded around inf 15.8
Simplified15.8
rmApplied distribute-lft-in15.8
Applied associate-+l+15.8
Simplified15.8
rmApplied add-sqr-sqrt15.8
Applied sqrt-prod16.0
Applied associate-*l*15.9
Simplified15.9
Taylor expanded around 0 15.9
Simplified12.3
if 1.8396588411989053e-241 < t < 3.2479806443803153e-157 or 4.214549585149478e+55 < t Initial program 48.9
Taylor expanded around inf 8.8
Simplified8.8
Final simplification9.4
herbie shell --seed 2019174
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))