\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 -3.2441809281282278 \cdot 10^{79}:\\
\;\;\;\;\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 3.43051773656448993 \cdot 10^{-229}:\\
\;\;\;\;\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, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le 2.9350109141003192 \cdot 10^{-167}:\\
\;\;\;\;\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 7.9057554216663514 \cdot 10^{116}:\\
\;\;\;\;\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, \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 r35897 = 2.0;
double r35898 = sqrt(r35897);
double r35899 = t;
double r35900 = r35898 * r35899;
double r35901 = x;
double r35902 = 1.0;
double r35903 = r35901 + r35902;
double r35904 = r35901 - r35902;
double r35905 = r35903 / r35904;
double r35906 = l;
double r35907 = r35906 * r35906;
double r35908 = r35899 * r35899;
double r35909 = r35897 * r35908;
double r35910 = r35907 + r35909;
double r35911 = r35905 * r35910;
double r35912 = r35911 - r35907;
double r35913 = sqrt(r35912);
double r35914 = r35900 / r35913;
return r35914;
}
double f(double x, double l, double t) {
double r35915 = t;
double r35916 = -3.244180928128228e+79;
bool r35917 = r35915 <= r35916;
double r35918 = 2.0;
double r35919 = sqrt(r35918);
double r35920 = r35919 * r35915;
double r35921 = 3.0;
double r35922 = pow(r35919, r35921);
double r35923 = x;
double r35924 = 2.0;
double r35925 = pow(r35923, r35924);
double r35926 = r35922 * r35925;
double r35927 = r35915 / r35926;
double r35928 = r35919 * r35925;
double r35929 = r35915 / r35928;
double r35930 = r35919 * r35923;
double r35931 = r35915 / r35930;
double r35932 = r35915 * r35919;
double r35933 = fma(r35918, r35931, r35932);
double r35934 = fma(r35918, r35929, r35933);
double r35935 = -r35934;
double r35936 = fma(r35918, r35927, r35935);
double r35937 = r35920 / r35936;
double r35938 = 3.43051773656449e-229;
bool r35939 = r35915 <= r35938;
double r35940 = cbrt(r35919);
double r35941 = r35940 * r35940;
double r35942 = r35940 * r35915;
double r35943 = r35941 * r35942;
double r35944 = pow(r35915, r35924);
double r35945 = l;
double r35946 = fabs(r35945);
double r35947 = r35946 / r35923;
double r35948 = r35946 * r35947;
double r35949 = 4.0;
double r35950 = r35944 / r35923;
double r35951 = r35949 * r35950;
double r35952 = fma(r35918, r35948, r35951);
double r35953 = fma(r35918, r35944, r35952);
double r35954 = sqrt(r35953);
double r35955 = r35943 / r35954;
double r35956 = 2.9350109141003192e-167;
bool r35957 = r35915 <= r35956;
double r35958 = r35918 * r35927;
double r35959 = r35933 - r35958;
double r35960 = fma(r35918, r35929, r35959);
double r35961 = r35920 / r35960;
double r35962 = 7.905755421666351e+116;
bool r35963 = r35915 <= r35962;
double r35964 = r35963 ? r35955 : r35961;
double r35965 = r35957 ? r35961 : r35964;
double r35966 = r35939 ? r35955 : r35965;
double r35967 = r35917 ? r35937 : r35966;
return r35967;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -3.244180928128228e+79Initial program 47.8
Taylor expanded around -inf 3.3
Simplified3.3
if -3.244180928128228e+79 < t < 3.43051773656449e-229 or 2.9350109141003192e-167 < t < 7.905755421666351e+116Initial program 36.1
Taylor expanded around inf 16.5
Simplified16.5
rmApplied *-un-lft-identity16.5
Applied add-sqr-sqrt16.5
Applied times-frac16.5
Simplified16.5
Simplified12.1
rmApplied add-cube-cbrt12.1
Applied associate-*l*12.1
if 3.43051773656449e-229 < t < 2.9350109141003192e-167 or 7.905755421666351e+116 < t Initial program 55.1
Taylor expanded around inf 8.1
Simplified8.1
Final simplification9.3
herbie shell --seed 2020027 +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)))))