\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 -8.703772595808916454667436984685994375446 \cdot 10^{141}:\\
\;\;\;\;\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 2.555685633755422263184735039093424552333 \cdot 10^{-264}:\\
\;\;\;\;\frac{\sqrt{1} \cdot \left(\sqrt{2} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le 5.748160003020186103470224388296769238726 \cdot 10^{-158}:\\
\;\;\;\;\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 4.837673144276178631404051943017687346215 \cdot 10^{123}:\\
\;\;\;\;\frac{\sqrt{1} \cdot \left(\sqrt{2} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 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 r37723 = 2.0;
double r37724 = sqrt(r37723);
double r37725 = t;
double r37726 = r37724 * r37725;
double r37727 = x;
double r37728 = 1.0;
double r37729 = r37727 + r37728;
double r37730 = r37727 - r37728;
double r37731 = r37729 / r37730;
double r37732 = l;
double r37733 = r37732 * r37732;
double r37734 = r37725 * r37725;
double r37735 = r37723 * r37734;
double r37736 = r37733 + r37735;
double r37737 = r37731 * r37736;
double r37738 = r37737 - r37733;
double r37739 = sqrt(r37738);
double r37740 = r37726 / r37739;
return r37740;
}
double f(double x, double l, double t) {
double r37741 = t;
double r37742 = -8.703772595808916e+141;
bool r37743 = r37741 <= r37742;
double r37744 = 2.0;
double r37745 = sqrt(r37744);
double r37746 = r37745 * r37741;
double r37747 = 3.0;
double r37748 = pow(r37745, r37747);
double r37749 = x;
double r37750 = 2.0;
double r37751 = pow(r37749, r37750);
double r37752 = r37748 * r37751;
double r37753 = r37741 / r37752;
double r37754 = r37745 * r37751;
double r37755 = r37741 / r37754;
double r37756 = r37745 * r37749;
double r37757 = r37741 / r37756;
double r37758 = r37741 * r37745;
double r37759 = fma(r37744, r37757, r37758);
double r37760 = fma(r37744, r37755, r37759);
double r37761 = -r37760;
double r37762 = fma(r37744, r37753, r37761);
double r37763 = r37746 / r37762;
double r37764 = 2.5556856337554223e-264;
bool r37765 = r37741 <= r37764;
double r37766 = 1.0;
double r37767 = sqrt(r37766);
double r37768 = r37767 * r37746;
double r37769 = pow(r37741, r37750);
double r37770 = l;
double r37771 = r37749 / r37770;
double r37772 = r37770 / r37771;
double r37773 = 4.0;
double r37774 = r37769 / r37749;
double r37775 = r37773 * r37774;
double r37776 = fma(r37744, r37772, r37775);
double r37777 = fma(r37744, r37769, r37776);
double r37778 = sqrt(r37777);
double r37779 = r37768 / r37778;
double r37780 = 5.748160003020186e-158;
bool r37781 = r37741 <= r37780;
double r37782 = r37744 * r37753;
double r37783 = r37759 - r37782;
double r37784 = fma(r37744, r37755, r37783);
double r37785 = r37746 / r37784;
double r37786 = 4.8376731442761786e+123;
bool r37787 = r37741 <= r37786;
double r37788 = r37787 ? r37779 : r37785;
double r37789 = r37781 ? r37785 : r37788;
double r37790 = r37765 ? r37779 : r37789;
double r37791 = r37743 ? r37763 : r37790;
return r37791;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -8.703772595808916e+141Initial program 58.9
Taylor expanded around -inf 2.1
Simplified2.1
if -8.703772595808916e+141 < t < 2.5556856337554223e-264 or 5.748160003020186e-158 < t < 4.8376731442761786e+123Initial program 32.6
Taylor expanded around inf 14.2
Simplified14.2
rmApplied unpow214.2
Applied associate-/l*9.6
rmApplied *-un-lft-identity9.6
Applied sqrt-prod9.6
Applied associate-*l*9.6
if 2.5556856337554223e-264 < t < 5.748160003020186e-158 or 4.8376731442761786e+123 < t Initial program 57.1
Taylor expanded around inf 10.8
Simplified10.8
Final simplification8.7
herbie shell --seed 2020001 +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)))))