\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.13289705956808 \cdot 10^{+147}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x} - \left(\frac{t}{x \cdot \sqrt{2}} + \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) \cdot 2\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 7.246088747560428 \cdot 10^{-307}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\frac{\left(2 \cdot t\right) \cdot \left(2 \cdot t\right)}{x} + 2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right)}}\\
\mathbf{elif}\;t \le 8.989514490606386 \cdot 10^{-225}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{x \cdot \sqrt{2}} + \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) \cdot 2 + \left(\sqrt{2} \cdot t - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right)}\\
\mathbf{elif}\;t \le 45772087522.28849:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\frac{\left(2 \cdot t\right) \cdot \left(2 \cdot t\right)}{x} + 2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{x \cdot \sqrt{2}} + \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) \cdot 2 + \left(\sqrt{2} \cdot t - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1313032 = 2.0;
double r1313033 = sqrt(r1313032);
double r1313034 = t;
double r1313035 = r1313033 * r1313034;
double r1313036 = x;
double r1313037 = 1.0;
double r1313038 = r1313036 + r1313037;
double r1313039 = r1313036 - r1313037;
double r1313040 = r1313038 / r1313039;
double r1313041 = l;
double r1313042 = r1313041 * r1313041;
double r1313043 = r1313034 * r1313034;
double r1313044 = r1313032 * r1313043;
double r1313045 = r1313042 + r1313044;
double r1313046 = r1313040 * r1313045;
double r1313047 = r1313046 - r1313042;
double r1313048 = sqrt(r1313047);
double r1313049 = r1313035 / r1313048;
return r1313049;
}
double f(double x, double l, double t) {
double r1313050 = t;
double r1313051 = -7.13289705956808e+147;
bool r1313052 = r1313050 <= r1313051;
double r1313053 = 2.0;
double r1313054 = sqrt(r1313053);
double r1313055 = r1313054 * r1313050;
double r1313056 = r1313050 / r1313054;
double r1313057 = x;
double r1313058 = r1313057 * r1313057;
double r1313059 = r1313056 / r1313058;
double r1313060 = r1313057 * r1313054;
double r1313061 = r1313050 / r1313060;
double r1313062 = r1313061 + r1313059;
double r1313063 = r1313062 * r1313053;
double r1313064 = r1313059 - r1313063;
double r1313065 = r1313064 - r1313055;
double r1313066 = r1313055 / r1313065;
double r1313067 = 7.246088747560428e-307;
bool r1313068 = r1313050 <= r1313067;
double r1313069 = r1313053 * r1313050;
double r1313070 = r1313069 * r1313069;
double r1313071 = r1313070 / r1313057;
double r1313072 = l;
double r1313073 = r1313057 / r1313072;
double r1313074 = r1313072 / r1313073;
double r1313075 = r1313050 * r1313050;
double r1313076 = r1313074 + r1313075;
double r1313077 = r1313053 * r1313076;
double r1313078 = r1313071 + r1313077;
double r1313079 = sqrt(r1313078);
double r1313080 = r1313055 / r1313079;
double r1313081 = 8.989514490606386e-225;
bool r1313082 = r1313050 <= r1313081;
double r1313083 = r1313055 - r1313059;
double r1313084 = r1313063 + r1313083;
double r1313085 = r1313055 / r1313084;
double r1313086 = 45772087522.28849;
bool r1313087 = r1313050 <= r1313086;
double r1313088 = r1313087 ? r1313080 : r1313085;
double r1313089 = r1313082 ? r1313085 : r1313088;
double r1313090 = r1313068 ? r1313080 : r1313089;
double r1313091 = r1313052 ? r1313066 : r1313090;
return r1313091;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -7.13289705956808e+147Initial program 60.6
Taylor expanded around -inf 2.4
Simplified2.4
if -7.13289705956808e+147 < t < 7.246088747560428e-307 or 8.989514490606386e-225 < t < 45772087522.28849Initial program 34.8
Taylor expanded around -inf 15.5
Simplified15.5
rmApplied associate-/l*10.9
if 7.246088747560428e-307 < t < 8.989514490606386e-225 or 45772087522.28849 < t Initial program 44.4
Taylor expanded around inf 10.0
Simplified10.0
Final simplification9.2
herbie shell --seed 2019132
(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)))))