\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 -9.583977798108110900162476286547585661621 \cdot 10^{138}:\\
\;\;\;\;\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.696367244110020413430084956000329612319 \cdot 10^{-164}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -3.088634056538455682354250066621880548059 \cdot 10^{-240}:\\
\;\;\;\;\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 9.909309527651243252484098193013516257504 \cdot 10^{-270}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\sqrt{x}} \cdot \frac{\ell}{\sqrt{x}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le 3.291216122192683495789321781028557839903 \cdot 10^{-130}:\\
\;\;\;\;\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 2.174990866497024471017537763220387342123 \cdot 10^{85}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)}^{2}}{\frac{x}{{\left(\sqrt[3]{\ell}\right)}^{2}}}, 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 r41925 = 2.0;
double r41926 = sqrt(r41925);
double r41927 = t;
double r41928 = r41926 * r41927;
double r41929 = x;
double r41930 = 1.0;
double r41931 = r41929 + r41930;
double r41932 = r41929 - r41930;
double r41933 = r41931 / r41932;
double r41934 = l;
double r41935 = r41934 * r41934;
double r41936 = r41927 * r41927;
double r41937 = r41925 * r41936;
double r41938 = r41935 + r41937;
double r41939 = r41933 * r41938;
double r41940 = r41939 - r41935;
double r41941 = sqrt(r41940);
double r41942 = r41928 / r41941;
return r41942;
}
double f(double x, double l, double t) {
double r41943 = t;
double r41944 = -9.583977798108111e+138;
bool r41945 = r41943 <= r41944;
double r41946 = 2.0;
double r41947 = sqrt(r41946);
double r41948 = r41947 * r41943;
double r41949 = 3.0;
double r41950 = pow(r41947, r41949);
double r41951 = x;
double r41952 = 2.0;
double r41953 = pow(r41951, r41952);
double r41954 = r41950 * r41953;
double r41955 = r41943 / r41954;
double r41956 = r41947 * r41953;
double r41957 = r41943 / r41956;
double r41958 = r41947 * r41951;
double r41959 = r41943 / r41958;
double r41960 = r41943 * r41947;
double r41961 = fma(r41946, r41959, r41960);
double r41962 = fma(r41946, r41957, r41961);
double r41963 = -r41962;
double r41964 = fma(r41946, r41955, r41963);
double r41965 = r41948 / r41964;
double r41966 = -6.6963672441100204e-164;
bool r41967 = r41943 <= r41966;
double r41968 = pow(r41943, r41952);
double r41969 = l;
double r41970 = cbrt(r41951);
double r41971 = r41970 * r41970;
double r41972 = r41969 / r41971;
double r41973 = r41969 / r41970;
double r41974 = r41972 * r41973;
double r41975 = 4.0;
double r41976 = r41968 / r41951;
double r41977 = r41975 * r41976;
double r41978 = fma(r41946, r41974, r41977);
double r41979 = fma(r41946, r41968, r41978);
double r41980 = sqrt(r41979);
double r41981 = r41948 / r41980;
double r41982 = -3.0886340565384557e-240;
bool r41983 = r41943 <= r41982;
double r41984 = 9.909309527651243e-270;
bool r41985 = r41943 <= r41984;
double r41986 = sqrt(r41951);
double r41987 = r41969 / r41986;
double r41988 = r41987 * r41987;
double r41989 = fma(r41946, r41988, r41977);
double r41990 = fma(r41946, r41968, r41989);
double r41991 = sqrt(r41990);
double r41992 = r41948 / r41991;
double r41993 = 3.2912161221926835e-130;
bool r41994 = r41943 <= r41993;
double r41995 = r41946 * r41955;
double r41996 = r41961 - r41995;
double r41997 = fma(r41946, r41957, r41996);
double r41998 = r41948 / r41997;
double r41999 = 2.1749908664970245e+85;
bool r42000 = r41943 <= r41999;
double r42001 = cbrt(r41969);
double r42002 = r42001 * r42001;
double r42003 = pow(r42002, r41952);
double r42004 = pow(r42001, r41952);
double r42005 = r41951 / r42004;
double r42006 = r42003 / r42005;
double r42007 = fma(r41946, r42006, r41977);
double r42008 = fma(r41946, r41968, r42007);
double r42009 = sqrt(r42008);
double r42010 = r41948 / r42009;
double r42011 = r42000 ? r42010 : r41998;
double r42012 = r41994 ? r41998 : r42011;
double r42013 = r41985 ? r41992 : r42012;
double r42014 = r41983 ? r41965 : r42013;
double r42015 = r41967 ? r41981 : r42014;
double r42016 = r41945 ? r41965 : r42015;
return r42016;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -9.583977798108111e+138 or -6.6963672441100204e-164 < t < -3.0886340565384557e-240Initial program 59.1
Taylor expanded around -inf 9.8
Simplified9.8
if -9.583977798108111e+138 < t < -6.6963672441100204e-164Initial program 25.3
Taylor expanded around inf 10.3
Simplified10.3
rmApplied add-cube-cbrt10.4
Applied add-sqr-sqrt37.4
Applied unpow-prod-down37.4
Applied times-frac35.0
Simplified35.0
Simplified5.5
if -3.0886340565384557e-240 < t < 9.909309527651243e-270Initial program 62.8
Taylor expanded around inf 32.0
Simplified32.0
rmApplied add-sqr-sqrt32.0
Applied add-sqr-sqrt48.0
Applied unpow-prod-down48.0
Applied times-frac48.0
Simplified48.0
Simplified31.9
if 9.909309527651243e-270 < t < 3.2912161221926835e-130 or 2.1749908664970245e+85 < t Initial program 51.7
Taylor expanded around inf 12.2
Simplified12.2
if 3.2912161221926835e-130 < t < 2.1749908664970245e+85Initial program 25.4
Taylor expanded around inf 9.9
Simplified9.9
rmApplied add-cube-cbrt10.0
Applied unpow-prod-down10.0
Applied associate-/l*6.5
Final simplification10.3
herbie shell --seed 2019346 +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)))))