\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 -7.7906296943154337 \cdot 10^{114}:\\
\;\;\;\;\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.3984297611885329 \cdot 10^{-164}:\\
\;\;\;\;\left(\sqrt[3]{\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}} \cdot \sqrt[3]{\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}}\right) \cdot \sqrt[3]{\frac{\sqrt{2} \cdot t}{\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 -7.1589711936441436 \cdot 10^{-250}:\\
\;\;\;\;\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.8121907514337819 \cdot 10^{-269}:\\
\;\;\;\;\frac{\frac{\sqrt{2}}{\frac{\left|\sqrt[3]{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}\right|}{t}}}{\sqrt{\sqrt[3]{\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 4.05887515224947638 \cdot 10^{-230}:\\
\;\;\;\;\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 3.08908601063149641 \cdot 10^{41}:\\
\;\;\;\;\frac{1}{\frac{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\frac{x}{\ell}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}{\sqrt{2} \cdot t}}\\
\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 r43945 = 2.0;
double r43946 = sqrt(r43945);
double r43947 = t;
double r43948 = r43946 * r43947;
double r43949 = x;
double r43950 = 1.0;
double r43951 = r43949 + r43950;
double r43952 = r43949 - r43950;
double r43953 = r43951 / r43952;
double r43954 = l;
double r43955 = r43954 * r43954;
double r43956 = r43947 * r43947;
double r43957 = r43945 * r43956;
double r43958 = r43955 + r43957;
double r43959 = r43953 * r43958;
double r43960 = r43959 - r43955;
double r43961 = sqrt(r43960);
double r43962 = r43948 / r43961;
return r43962;
}
double f(double x, double l, double t) {
double r43963 = t;
double r43964 = -7.790629694315434e+114;
bool r43965 = r43963 <= r43964;
double r43966 = 2.0;
double r43967 = sqrt(r43966);
double r43968 = r43967 * r43963;
double r43969 = 3.0;
double r43970 = pow(r43967, r43969);
double r43971 = x;
double r43972 = 2.0;
double r43973 = pow(r43971, r43972);
double r43974 = r43970 * r43973;
double r43975 = r43963 / r43974;
double r43976 = r43967 * r43973;
double r43977 = r43963 / r43976;
double r43978 = r43967 * r43971;
double r43979 = r43963 / r43978;
double r43980 = r43963 * r43967;
double r43981 = fma(r43966, r43979, r43980);
double r43982 = fma(r43966, r43977, r43981);
double r43983 = -r43982;
double r43984 = fma(r43966, r43975, r43983);
double r43985 = r43968 / r43984;
double r43986 = -2.398429761188533e-164;
bool r43987 = r43963 <= r43986;
double r43988 = pow(r43963, r43972);
double r43989 = l;
double r43990 = r43971 / r43989;
double r43991 = r43989 / r43990;
double r43992 = 4.0;
double r43993 = r43988 / r43971;
double r43994 = r43992 * r43993;
double r43995 = fma(r43966, r43991, r43994);
double r43996 = fma(r43966, r43988, r43995);
double r43997 = sqrt(r43996);
double r43998 = r43968 / r43997;
double r43999 = cbrt(r43998);
double r44000 = r43999 * r43999;
double r44001 = r44000 * r43999;
double r44002 = -7.158971193644144e-250;
bool r44003 = r43963 <= r44002;
double r44004 = 2.812190751433782e-269;
bool r44005 = r43963 <= r44004;
double r44006 = cbrt(r43996);
double r44007 = fabs(r44006);
double r44008 = r44007 / r43963;
double r44009 = r43967 / r44008;
double r44010 = sqrt(r44006);
double r44011 = r44009 / r44010;
double r44012 = 4.0588751522494764e-230;
bool r44013 = r43963 <= r44012;
double r44014 = r43966 * r43975;
double r44015 = r43981 - r44014;
double r44016 = fma(r43966, r43977, r44015);
double r44017 = r43968 / r44016;
double r44018 = 3.0890860106314964e+41;
bool r44019 = r43963 <= r44018;
double r44020 = 1.0;
double r44021 = r43997 / r43968;
double r44022 = r44020 / r44021;
double r44023 = r44019 ? r44022 : r44017;
double r44024 = r44013 ? r44017 : r44023;
double r44025 = r44005 ? r44011 : r44024;
double r44026 = r44003 ? r43985 : r44025;
double r44027 = r43987 ? r44001 : r44026;
double r44028 = r43965 ? r43985 : r44027;
return r44028;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -7.790629694315434e+114 or -2.398429761188533e-164 < t < -7.158971193644144e-250Initial program 55.7
Taylor expanded around -inf 10.0
Simplified10.0
if -7.790629694315434e+114 < t < -2.398429761188533e-164Initial program 25.9
Taylor expanded around inf 10.6
Simplified10.6
rmApplied unpow210.6
Applied associate-/l*5.7
rmApplied add-cube-cbrt5.6
if -7.158971193644144e-250 < t < 2.812190751433782e-269Initial program 62.5
Taylor expanded around inf 29.9
Simplified29.9
rmApplied unpow229.9
Applied associate-/l*29.4
rmApplied add-cube-cbrt29.6
Applied sqrt-prod29.6
Applied associate-/r*29.6
Simplified29.7
if 2.812190751433782e-269 < t < 4.0588751522494764e-230 or 3.0890860106314964e+41 < t Initial program 45.9
Taylor expanded around inf 7.1
Simplified7.1
if 4.0588751522494764e-230 < t < 3.0890860106314964e+41Initial program 39.3
Taylor expanded around inf 17.0
Simplified17.0
rmApplied unpow217.0
Applied associate-/l*11.5
rmApplied clear-num11.7
Final simplification9.7
herbie shell --seed 2020083 +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)))))