\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.178101575424767 \cdot 10^{+99}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 1.4235245726759946 \cdot 10^{+99}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\frac{t \cdot t}{x} \cdot 4 + \left(\frac{\ell}{\sqrt[3]{x}} \cdot \frac{\frac{\ell}{\sqrt[3]{x}}}{\sqrt[3]{x}} + t \cdot t\right) \cdot 2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x} + \sqrt{2} \cdot t\right) - 2 \cdot \left(\frac{t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1576369 = 2.0;
double r1576370 = sqrt(r1576369);
double r1576371 = t;
double r1576372 = r1576370 * r1576371;
double r1576373 = x;
double r1576374 = 1.0;
double r1576375 = r1576373 + r1576374;
double r1576376 = r1576373 - r1576374;
double r1576377 = r1576375 / r1576376;
double r1576378 = l;
double r1576379 = r1576378 * r1576378;
double r1576380 = r1576371 * r1576371;
double r1576381 = r1576369 * r1576380;
double r1576382 = r1576379 + r1576381;
double r1576383 = r1576377 * r1576382;
double r1576384 = r1576383 - r1576379;
double r1576385 = sqrt(r1576384);
double r1576386 = r1576372 / r1576385;
return r1576386;
}
double f(double x, double l, double t) {
double r1576387 = t;
double r1576388 = -1.178101575424767e+99;
bool r1576389 = r1576387 <= r1576388;
double r1576390 = 2.0;
double r1576391 = sqrt(r1576390);
double r1576392 = r1576391 * r1576387;
double r1576393 = x;
double r1576394 = r1576393 * r1576393;
double r1576395 = r1576390 * r1576391;
double r1576396 = r1576394 * r1576395;
double r1576397 = r1576387 / r1576396;
double r1576398 = r1576387 / r1576391;
double r1576399 = r1576398 / r1576394;
double r1576400 = r1576397 - r1576399;
double r1576401 = r1576390 * r1576400;
double r1576402 = r1576390 / r1576393;
double r1576403 = r1576398 * r1576402;
double r1576404 = r1576401 - r1576403;
double r1576405 = r1576404 - r1576392;
double r1576406 = r1576392 / r1576405;
double r1576407 = 1.4235245726759946e+99;
bool r1576408 = r1576387 <= r1576407;
double r1576409 = r1576387 * r1576387;
double r1576410 = r1576409 / r1576393;
double r1576411 = 4.0;
double r1576412 = r1576410 * r1576411;
double r1576413 = l;
double r1576414 = cbrt(r1576393);
double r1576415 = r1576413 / r1576414;
double r1576416 = r1576415 / r1576414;
double r1576417 = r1576415 * r1576416;
double r1576418 = r1576417 + r1576409;
double r1576419 = r1576418 * r1576390;
double r1576420 = r1576412 + r1576419;
double r1576421 = sqrt(r1576420);
double r1576422 = r1576392 / r1576421;
double r1576423 = r1576403 + r1576392;
double r1576424 = r1576423 - r1576401;
double r1576425 = r1576392 / r1576424;
double r1576426 = r1576408 ? r1576422 : r1576425;
double r1576427 = r1576389 ? r1576406 : r1576426;
return r1576427;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.178101575424767e+99Initial program 48.9
Taylor expanded around -inf 2.5
Simplified2.5
if -1.178101575424767e+99 < t < 1.4235245726759946e+99Initial program 37.8
Taylor expanded around inf 17.3
Simplified17.3
rmApplied add-cube-cbrt17.4
Applied times-frac12.9
Simplified12.9
if 1.4235245726759946e+99 < t Initial program 49.1
Taylor expanded around inf 3.3
Simplified3.3
Final simplification8.9
herbie shell --seed 2019168
(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)))))