\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 -4.4134163461362922 \cdot 10^{69}:\\
\;\;\;\;\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.10932377839678249 \cdot 10^{-178}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\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.0733881302293798 \cdot 10^{-287}:\\
\;\;\;\;\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.76918902262626632 \cdot 10^{24}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\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(t, \sqrt{2}, 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r37828 = 2.0;
double r37829 = sqrt(r37828);
double r37830 = t;
double r37831 = r37829 * r37830;
double r37832 = x;
double r37833 = 1.0;
double r37834 = r37832 + r37833;
double r37835 = r37832 - r37833;
double r37836 = r37834 / r37835;
double r37837 = l;
double r37838 = r37837 * r37837;
double r37839 = r37830 * r37830;
double r37840 = r37828 * r37839;
double r37841 = r37838 + r37840;
double r37842 = r37836 * r37841;
double r37843 = r37842 - r37838;
double r37844 = sqrt(r37843);
double r37845 = r37831 / r37844;
return r37845;
}
double f(double x, double l, double t) {
double r37846 = t;
double r37847 = -4.413416346136292e+69;
bool r37848 = r37846 <= r37847;
double r37849 = 2.0;
double r37850 = sqrt(r37849);
double r37851 = r37850 * r37846;
double r37852 = 3.0;
double r37853 = pow(r37850, r37852);
double r37854 = x;
double r37855 = 2.0;
double r37856 = pow(r37854, r37855);
double r37857 = r37853 * r37856;
double r37858 = r37846 / r37857;
double r37859 = r37850 * r37856;
double r37860 = r37846 / r37859;
double r37861 = r37850 * r37854;
double r37862 = r37846 / r37861;
double r37863 = r37846 * r37850;
double r37864 = fma(r37849, r37862, r37863);
double r37865 = fma(r37849, r37860, r37864);
double r37866 = -r37865;
double r37867 = fma(r37849, r37858, r37866);
double r37868 = r37851 / r37867;
double r37869 = -2.1093237783967825e-178;
bool r37870 = r37846 <= r37869;
double r37871 = cbrt(r37850);
double r37872 = r37871 * r37871;
double r37873 = r37871 * r37846;
double r37874 = r37872 * r37873;
double r37875 = pow(r37846, r37855);
double r37876 = l;
double r37877 = r37854 / r37876;
double r37878 = r37876 / r37877;
double r37879 = 4.0;
double r37880 = r37875 / r37854;
double r37881 = r37879 * r37880;
double r37882 = fma(r37849, r37878, r37881);
double r37883 = fma(r37849, r37875, r37882);
double r37884 = sqrt(r37883);
double r37885 = r37874 / r37884;
double r37886 = -5.07338813022938e-287;
bool r37887 = r37846 <= r37886;
double r37888 = 6.769189022626266e+24;
bool r37889 = r37846 <= r37888;
double r37890 = r37849 * r37862;
double r37891 = fma(r37846, r37850, r37890);
double r37892 = r37851 / r37891;
double r37893 = r37889 ? r37885 : r37892;
double r37894 = r37887 ? r37868 : r37893;
double r37895 = r37870 ? r37885 : r37894;
double r37896 = r37848 ? r37868 : r37895;
return r37896;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -4.413416346136292e+69 or -2.1093237783967825e-178 < t < -5.07338813022938e-287Initial program 51.9
Taylor expanded around -inf 11.7
Simplified11.7
if -4.413416346136292e+69 < t < -2.1093237783967825e-178 or -5.07338813022938e-287 < t < 6.769189022626266e+24Initial program 39.1
Taylor expanded around inf 16.1
Simplified16.1
rmApplied unpow216.1
Applied associate-/l*11.9
rmApplied add-cube-cbrt11.9
Applied associate-*l*11.9
if 6.769189022626266e+24 < t Initial program 41.9
Taylor expanded around inf 39.8
Simplified39.8
Taylor expanded around inf 4.3
Simplified4.3
Final simplification9.8
herbie shell --seed 2020047 +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)))))