\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 -3.09314035729689678 \cdot 10^{118}:\\
\;\;\;\;\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}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le -7.0895915203531395 \cdot 10^{-211}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\frac{\left|\ell\right|}{\sqrt[3]{x}}}{\sqrt[3]{x}} \cdot \frac{\left|\ell\right|}{\sqrt[3]{x}}\right)}}\\
\mathbf{elif}\;t \le -9.1577416971198005 \cdot 10^{-244}:\\
\;\;\;\;\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}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 4.8080161767920681 \cdot 10^{61}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\frac{\left|\ell\right|}{\sqrt[3]{x}}}{\sqrt[3]{x}} \cdot \frac{\left|\ell\right|}{\sqrt[3]{x}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\end{array}double f(double x, double l, double t) {
double r38390 = 2.0;
double r38391 = sqrt(r38390);
double r38392 = t;
double r38393 = r38391 * r38392;
double r38394 = x;
double r38395 = 1.0;
double r38396 = r38394 + r38395;
double r38397 = r38394 - r38395;
double r38398 = r38396 / r38397;
double r38399 = l;
double r38400 = r38399 * r38399;
double r38401 = r38392 * r38392;
double r38402 = r38390 * r38401;
double r38403 = r38400 + r38402;
double r38404 = r38398 * r38403;
double r38405 = r38404 - r38400;
double r38406 = sqrt(r38405);
double r38407 = r38393 / r38406;
return r38407;
}
double f(double x, double l, double t) {
double r38408 = t;
double r38409 = -3.093140357296897e+118;
bool r38410 = r38408 <= r38409;
double r38411 = 2.0;
double r38412 = sqrt(r38411);
double r38413 = r38412 * r38408;
double r38414 = 3.0;
double r38415 = pow(r38412, r38414);
double r38416 = x;
double r38417 = 2.0;
double r38418 = pow(r38416, r38417);
double r38419 = r38415 * r38418;
double r38420 = r38408 / r38419;
double r38421 = r38412 * r38418;
double r38422 = r38408 / r38421;
double r38423 = r38420 - r38422;
double r38424 = r38411 * r38423;
double r38425 = r38424 - r38413;
double r38426 = r38412 * r38416;
double r38427 = r38408 / r38426;
double r38428 = r38411 * r38427;
double r38429 = r38425 - r38428;
double r38430 = r38413 / r38429;
double r38431 = -7.0895915203531395e-211;
bool r38432 = r38408 <= r38431;
double r38433 = 4.0;
double r38434 = pow(r38408, r38417);
double r38435 = r38434 / r38416;
double r38436 = r38433 * r38435;
double r38437 = l;
double r38438 = fabs(r38437);
double r38439 = cbrt(r38416);
double r38440 = r38438 / r38439;
double r38441 = r38440 / r38439;
double r38442 = r38441 * r38440;
double r38443 = r38434 + r38442;
double r38444 = r38411 * r38443;
double r38445 = r38436 + r38444;
double r38446 = sqrt(r38445);
double r38447 = r38413 / r38446;
double r38448 = -9.1577416971198e-244;
bool r38449 = r38408 <= r38448;
double r38450 = 4.808016176792068e+61;
bool r38451 = r38408 <= r38450;
double r38452 = r38408 * r38412;
double r38453 = r38428 + r38452;
double r38454 = r38411 * r38420;
double r38455 = r38453 - r38454;
double r38456 = r38413 / r38455;
double r38457 = r38451 ? r38447 : r38456;
double r38458 = r38449 ? r38430 : r38457;
double r38459 = r38432 ? r38447 : r38458;
double r38460 = r38410 ? r38430 : r38459;
return r38460;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -3.093140357296897e+118 or -7.0895915203531395e-211 < t < -9.1577416971198e-244Initial program 55.1
Taylor expanded around -inf 6.3
Simplified6.3
if -3.093140357296897e+118 < t < -7.0895915203531395e-211 or -9.1577416971198e-244 < t < 4.808016176792068e+61Initial program 38.0
Taylor expanded around inf 17.7
Simplified17.7
rmApplied add-cube-cbrt17.8
Applied add-sqr-sqrt17.8
Applied times-frac17.8
Simplified17.8
Simplified12.9
if 4.808016176792068e+61 < t Initial program 45.9
Taylor expanded around inf 44.8
Simplified44.8
Taylor expanded around inf 4.0
Final simplification9.4
herbie shell --seed 2020020
(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)))))