\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 -2.942253087011871 \cdot 10^{66}:\\
\;\;\;\;\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.0467080239710555 \cdot 10^{93}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\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 r37943 = 2.0;
double r37944 = sqrt(r37943);
double r37945 = t;
double r37946 = r37944 * r37945;
double r37947 = x;
double r37948 = 1.0;
double r37949 = r37947 + r37948;
double r37950 = r37947 - r37948;
double r37951 = r37949 / r37950;
double r37952 = l;
double r37953 = r37952 * r37952;
double r37954 = r37945 * r37945;
double r37955 = r37943 * r37954;
double r37956 = r37953 + r37955;
double r37957 = r37951 * r37956;
double r37958 = r37957 - r37953;
double r37959 = sqrt(r37958);
double r37960 = r37946 / r37959;
return r37960;
}
double f(double x, double l, double t) {
double r37961 = t;
double r37962 = -2.9422530870118713e+66;
bool r37963 = r37961 <= r37962;
double r37964 = 2.0;
double r37965 = sqrt(r37964);
double r37966 = r37965 * r37961;
double r37967 = 3.0;
double r37968 = pow(r37965, r37967);
double r37969 = x;
double r37970 = 2.0;
double r37971 = pow(r37969, r37970);
double r37972 = r37968 * r37971;
double r37973 = r37961 / r37972;
double r37974 = r37965 * r37971;
double r37975 = r37961 / r37974;
double r37976 = r37965 * r37969;
double r37977 = r37961 / r37976;
double r37978 = r37961 * r37965;
double r37979 = fma(r37964, r37977, r37978);
double r37980 = fma(r37964, r37975, r37979);
double r37981 = -r37980;
double r37982 = fma(r37964, r37973, r37981);
double r37983 = r37966 / r37982;
double r37984 = 2.0467080239710555e+93;
bool r37985 = r37961 <= r37984;
double r37986 = pow(r37961, r37970);
double r37987 = l;
double r37988 = r37970 / r37970;
double r37989 = pow(r37987, r37988);
double r37990 = r37969 / r37987;
double r37991 = r37989 / r37990;
double r37992 = 4.0;
double r37993 = r37986 / r37969;
double r37994 = r37992 * r37993;
double r37995 = fma(r37964, r37991, r37994);
double r37996 = fma(r37964, r37986, r37995);
double r37997 = sqrt(r37996);
double r37998 = r37966 / r37997;
double r37999 = r37964 * r37973;
double r38000 = r37979 - r37999;
double r38001 = fma(r37964, r37975, r38000);
double r38002 = r37966 / r38001;
double r38003 = r37985 ? r37998 : r38002;
double r38004 = r37963 ? r37983 : r38003;
return r38004;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -2.9422530870118713e+66Initial program 46.2
Taylor expanded around -inf 3.5
Simplified3.5
if -2.9422530870118713e+66 < t < 2.0467080239710555e+93Initial program 38.7
Taylor expanded around inf 17.8
Simplified17.8
rmApplied sqr-pow17.8
Applied associate-/l*14.1
Simplified14.1
if 2.0467080239710555e+93 < t Initial program 50.7
Taylor expanded around inf 2.8
Simplified2.8
Final simplification9.3
herbie shell --seed 2020089 +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)))))