\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}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\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{\left(2 \cdot \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}} + 4 \cdot \frac{{t}^{2}}{x}\right) + 2 \cdot {t}^{2}}}\\
\mathbf{elif}\;t \le -5.0733881302293798 \cdot 10^{-287}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\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{\left(2 \cdot \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}} + 4 \cdot \frac{{t}^{2}}{x}\right) + 2 \cdot {t}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\end{array}double f(double x, double l, double t) {
double r39991 = 2.0;
double r39992 = sqrt(r39991);
double r39993 = t;
double r39994 = r39992 * r39993;
double r39995 = x;
double r39996 = 1.0;
double r39997 = r39995 + r39996;
double r39998 = r39995 - r39996;
double r39999 = r39997 / r39998;
double r40000 = l;
double r40001 = r40000 * r40000;
double r40002 = r39993 * r39993;
double r40003 = r39991 * r40002;
double r40004 = r40001 + r40003;
double r40005 = r39999 * r40004;
double r40006 = r40005 - r40001;
double r40007 = sqrt(r40006);
double r40008 = r39994 / r40007;
return r40008;
}
double f(double x, double l, double t) {
double r40009 = t;
double r40010 = -4.413416346136292e+69;
bool r40011 = r40009 <= r40010;
double r40012 = 2.0;
double r40013 = sqrt(r40012);
double r40014 = r40013 * r40009;
double r40015 = 3.0;
double r40016 = pow(r40013, r40015);
double r40017 = x;
double r40018 = 2.0;
double r40019 = pow(r40017, r40018);
double r40020 = r40016 * r40019;
double r40021 = r40009 / r40020;
double r40022 = r40013 * r40019;
double r40023 = r40009 / r40022;
double r40024 = r40021 - r40023;
double r40025 = r40012 * r40024;
double r40026 = r40013 * r40017;
double r40027 = r40009 / r40026;
double r40028 = r40012 * r40027;
double r40029 = r40009 * r40013;
double r40030 = r40028 + r40029;
double r40031 = r40025 - r40030;
double r40032 = r40014 / r40031;
double r40033 = -2.1093237783967825e-178;
bool r40034 = r40009 <= r40033;
double r40035 = cbrt(r40013);
double r40036 = r40035 * r40035;
double r40037 = r40035 * r40009;
double r40038 = r40036 * r40037;
double r40039 = l;
double r40040 = r40018 / r40018;
double r40041 = pow(r40039, r40040);
double r40042 = r40017 / r40039;
double r40043 = r40041 / r40042;
double r40044 = r40012 * r40043;
double r40045 = 4.0;
double r40046 = pow(r40009, r40018);
double r40047 = r40046 / r40017;
double r40048 = r40045 * r40047;
double r40049 = r40044 + r40048;
double r40050 = r40012 * r40046;
double r40051 = r40049 + r40050;
double r40052 = sqrt(r40051);
double r40053 = r40038 / r40052;
double r40054 = -5.07338813022938e-287;
bool r40055 = r40009 <= r40054;
double r40056 = 6.769189022626266e+24;
bool r40057 = r40009 <= r40056;
double r40058 = r40029 + r40028;
double r40059 = r40014 / r40058;
double r40060 = r40057 ? r40053 : r40059;
double r40061 = r40055 ? r40032 : r40060;
double r40062 = r40034 ? r40053 : r40061;
double r40063 = r40011 ? r40032 : r40062;
return r40063;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
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
rmApplied sqr-pow16.1
Applied associate-/l*11.9
Simplified11.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
Taylor expanded around inf 4.3
Final simplification9.8
herbie shell --seed 2020047
(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)))))