\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 -1.861930782743277 \cdot 10^{+82}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)} - \frac{2 \cdot t}{\left(x \cdot \sqrt{2}\right) \cdot x}\right) - \left(\frac{2}{x} \cdot \frac{t}{\sqrt{2}} + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 1.2059628825355719 \cdot 10^{-265}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell}{\frac{x}{\ell}}\right) + \frac{4}{\frac{x}{t \cdot t}}}}\\
\mathbf{elif}\;t \le 1.0535291832943578 \cdot 10^{-158}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x} \cdot \frac{t}{\sqrt{2}} + \left(\sqrt{2} \cdot t + \frac{2 \cdot t}{\left(x \cdot \sqrt{2}\right) \cdot x}\right)\right) - \frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)}}\\
\mathbf{elif}\;t \le 2.9199902382812565 \cdot 10^{+64}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell}{\frac{x}{\ell}}\right) + \frac{4}{\frac{x}{t \cdot t}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x} \cdot \frac{t}{\sqrt{2}} + \left(\sqrt{2} \cdot t + \frac{2 \cdot t}{\left(x \cdot \sqrt{2}\right) \cdot x}\right)\right) - \frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)}}\\
\end{array}double f(double x, double l, double t) {
double r799070 = 2.0;
double r799071 = sqrt(r799070);
double r799072 = t;
double r799073 = r799071 * r799072;
double r799074 = x;
double r799075 = 1.0;
double r799076 = r799074 + r799075;
double r799077 = r799074 - r799075;
double r799078 = r799076 / r799077;
double r799079 = l;
double r799080 = r799079 * r799079;
double r799081 = r799072 * r799072;
double r799082 = r799070 * r799081;
double r799083 = r799080 + r799082;
double r799084 = r799078 * r799083;
double r799085 = r799084 - r799080;
double r799086 = sqrt(r799085);
double r799087 = r799073 / r799086;
return r799087;
}
double f(double x, double l, double t) {
double r799088 = t;
double r799089 = -1.861930782743277e+82;
bool r799090 = r799088 <= r799089;
double r799091 = 2.0;
double r799092 = sqrt(r799091);
double r799093 = r799092 * r799088;
double r799094 = r799091 * r799088;
double r799095 = r799091 * r799092;
double r799096 = x;
double r799097 = r799096 * r799096;
double r799098 = r799095 * r799097;
double r799099 = r799094 / r799098;
double r799100 = r799096 * r799092;
double r799101 = r799100 * r799096;
double r799102 = r799094 / r799101;
double r799103 = r799099 - r799102;
double r799104 = r799091 / r799096;
double r799105 = r799088 / r799092;
double r799106 = r799104 * r799105;
double r799107 = r799106 + r799093;
double r799108 = r799103 - r799107;
double r799109 = r799093 / r799108;
double r799110 = 1.2059628825355719e-265;
bool r799111 = r799088 <= r799110;
double r799112 = r799088 * r799088;
double r799113 = l;
double r799114 = r799096 / r799113;
double r799115 = r799113 / r799114;
double r799116 = r799112 + r799115;
double r799117 = r799091 * r799116;
double r799118 = 4.0;
double r799119 = r799096 / r799112;
double r799120 = r799118 / r799119;
double r799121 = r799117 + r799120;
double r799122 = sqrt(r799121);
double r799123 = r799093 / r799122;
double r799124 = 1.0535291832943578e-158;
bool r799125 = r799088 <= r799124;
double r799126 = r799093 + r799102;
double r799127 = r799106 + r799126;
double r799128 = r799127 - r799099;
double r799129 = r799093 / r799128;
double r799130 = 2.9199902382812565e+64;
bool r799131 = r799088 <= r799130;
double r799132 = r799131 ? r799123 : r799129;
double r799133 = r799125 ? r799129 : r799132;
double r799134 = r799111 ? r799123 : r799133;
double r799135 = r799090 ? r799109 : r799134;
return r799135;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.861930782743277e+82Initial program 48.6
Taylor expanded around -inf 3.2
Simplified3.2
if -1.861930782743277e+82 < t < 1.2059628825355719e-265 or 1.0535291832943578e-158 < t < 2.9199902382812565e+64Initial program 35.7
Taylor expanded around -inf 15.5
Simplified15.5
rmApplied associate-/l*11.0
if 1.2059628825355719e-265 < t < 1.0535291832943578e-158 or 2.9199902382812565e+64 < t Initial program 49.1
Taylor expanded around inf 9.8
Simplified9.8
Final simplification8.9
herbie shell --seed 2019128
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))