\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.45871046711995538 \cdot 10^{125}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot x}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le -9.22209258437025154 \cdot 10^{-219}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\left|\ell\right|}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\left|\ell\right|}{\sqrt[3]{x}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\\
\mathbf{elif}\;t \le -1.6506396057830864 \cdot 10^{-267}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot x}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 1.1078784155040597 \cdot 10^{-245}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\sqrt{2 \cdot \left(t \cdot t + \frac{{\ell}^{2}}{x}\right) + 4 \cdot \frac{{t}^{2}}{x}}} \cdot \sqrt{\sqrt{2 \cdot \left(t \cdot t + \frac{{\ell}^{2}}{x}\right) + 4 \cdot \frac{{t}^{2}}{x}}}}\\
\mathbf{elif}\;t \le 5.50990658974305019 \cdot 10^{-162} \lor \neg \left(t \le 9.0463317445752689 \cdot 10^{25}\right):\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \left(\sqrt{2} \cdot t + 2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}}\right)\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell}{\frac{x}{\ell}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\\
\end{array}double f(double x, double l, double t) {
double r47236 = 2.0;
double r47237 = sqrt(r47236);
double r47238 = t;
double r47239 = r47237 * r47238;
double r47240 = x;
double r47241 = 1.0;
double r47242 = r47240 + r47241;
double r47243 = r47240 - r47241;
double r47244 = r47242 / r47243;
double r47245 = l;
double r47246 = r47245 * r47245;
double r47247 = r47238 * r47238;
double r47248 = r47236 * r47247;
double r47249 = r47246 + r47248;
double r47250 = r47244 * r47249;
double r47251 = r47250 - r47246;
double r47252 = sqrt(r47251);
double r47253 = r47239 / r47252;
return r47253;
}
double f(double x, double l, double t) {
double r47254 = t;
double r47255 = -1.4587104671199554e+125;
bool r47256 = r47254 <= r47255;
double r47257 = 2.0;
double r47258 = sqrt(r47257);
double r47259 = r47258 * r47254;
double r47260 = 3.0;
double r47261 = pow(r47258, r47260);
double r47262 = x;
double r47263 = 2.0;
double r47264 = pow(r47262, r47263);
double r47265 = r47261 * r47264;
double r47266 = r47254 / r47265;
double r47267 = r47258 * r47262;
double r47268 = r47254 / r47267;
double r47269 = r47266 - r47268;
double r47270 = r47257 * r47269;
double r47271 = r47258 * r47264;
double r47272 = r47254 / r47271;
double r47273 = r47257 * r47272;
double r47274 = r47270 - r47273;
double r47275 = r47274 - r47259;
double r47276 = r47259 / r47275;
double r47277 = -9.222092584370252e-219;
bool r47278 = r47254 <= r47277;
double r47279 = r47254 * r47254;
double r47280 = l;
double r47281 = fabs(r47280);
double r47282 = cbrt(r47262);
double r47283 = r47282 * r47282;
double r47284 = r47281 / r47283;
double r47285 = r47281 / r47282;
double r47286 = r47284 * r47285;
double r47287 = r47279 + r47286;
double r47288 = r47257 * r47287;
double r47289 = 4.0;
double r47290 = pow(r47254, r47263);
double r47291 = r47290 / r47262;
double r47292 = r47289 * r47291;
double r47293 = r47288 + r47292;
double r47294 = sqrt(r47293);
double r47295 = r47259 / r47294;
double r47296 = -1.6506396057830864e-267;
bool r47297 = r47254 <= r47296;
double r47298 = 1.1078784155040597e-245;
bool r47299 = r47254 <= r47298;
double r47300 = pow(r47280, r47263);
double r47301 = r47300 / r47262;
double r47302 = r47279 + r47301;
double r47303 = r47257 * r47302;
double r47304 = r47303 + r47292;
double r47305 = sqrt(r47304);
double r47306 = sqrt(r47305);
double r47307 = r47306 * r47306;
double r47308 = r47259 / r47307;
double r47309 = 5.50990658974305e-162;
bool r47310 = r47254 <= r47309;
double r47311 = 9.046331744575269e+25;
bool r47312 = r47254 <= r47311;
double r47313 = !r47312;
bool r47314 = r47310 || r47313;
double r47315 = r47257 * r47268;
double r47316 = r47259 + r47273;
double r47317 = r47315 + r47316;
double r47318 = r47257 * r47266;
double r47319 = r47317 - r47318;
double r47320 = r47259 / r47319;
double r47321 = r47262 / r47280;
double r47322 = r47280 / r47321;
double r47323 = r47279 + r47322;
double r47324 = r47257 * r47323;
double r47325 = r47324 + r47292;
double r47326 = sqrt(r47325);
double r47327 = r47259 / r47326;
double r47328 = r47314 ? r47320 : r47327;
double r47329 = r47299 ? r47308 : r47328;
double r47330 = r47297 ? r47276 : r47329;
double r47331 = r47278 ? r47295 : r47330;
double r47332 = r47256 ? r47276 : r47331;
return r47332;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.4587104671199554e+125 or -9.222092584370252e-219 < t < -1.6506396057830864e-267Initial program 55.9
Taylor expanded around -inf 7.8
Simplified7.8
if -1.4587104671199554e+125 < t < -9.222092584370252e-219Initial program 31.5
Taylor expanded around inf 14.2
Simplified14.2
rmApplied add-cube-cbrt14.3
Applied add-sqr-sqrt14.3
Applied times-frac14.3
Simplified14.3
Simplified9.2
if -1.6506396057830864e-267 < t < 1.1078784155040597e-245Initial program 63.2
Taylor expanded around inf 31.1
Simplified31.1
rmApplied add-sqr-sqrt31.1
Applied sqrt-prod31.1
if 1.1078784155040597e-245 < t < 5.50990658974305e-162 or 9.046331744575269e+25 < t Initial program 47.1
Taylor expanded around inf 10.1
if 5.50990658974305e-162 < t < 9.046331744575269e+25Initial program 28.1
Taylor expanded around inf 9.3
Simplified9.3
rmApplied unpow29.3
Applied associate-/l*4.5
Final simplification9.9
herbie shell --seed 2019195
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))