\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.9272954767798406 \cdot 10^{+17}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 6.398010735699759 \cdot 10^{+134}:\\
\;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} + \frac{2}{x \cdot \sqrt{2}}\right) \cdot t - \frac{\frac{\frac{t}{x}}{\sqrt{2}}}{x}}\\
\end{array}double f(double x, double l, double t) {
double r4239433 = 2.0;
double r4239434 = sqrt(r4239433);
double r4239435 = t;
double r4239436 = r4239434 * r4239435;
double r4239437 = x;
double r4239438 = 1.0;
double r4239439 = r4239437 + r4239438;
double r4239440 = r4239437 - r4239438;
double r4239441 = r4239439 / r4239440;
double r4239442 = l;
double r4239443 = r4239442 * r4239442;
double r4239444 = r4239435 * r4239435;
double r4239445 = r4239433 * r4239444;
double r4239446 = r4239443 + r4239445;
double r4239447 = r4239441 * r4239446;
double r4239448 = r4239447 - r4239443;
double r4239449 = sqrt(r4239448);
double r4239450 = r4239436 / r4239449;
return r4239450;
}
double f(double x, double l, double t) {
double r4239451 = t;
double r4239452 = -1.9272954767798406e+17;
bool r4239453 = r4239451 <= r4239452;
double r4239454 = 2.0;
double r4239455 = sqrt(r4239454);
double r4239456 = r4239455 * r4239451;
double r4239457 = x;
double r4239458 = r4239457 * r4239457;
double r4239459 = r4239451 / r4239458;
double r4239460 = 1.0;
double r4239461 = r4239460 / r4239455;
double r4239462 = r4239459 * r4239461;
double r4239463 = r4239454 / r4239455;
double r4239464 = r4239451 / r4239457;
double r4239465 = r4239464 + r4239459;
double r4239466 = r4239463 * r4239465;
double r4239467 = r4239466 + r4239456;
double r4239468 = r4239462 - r4239467;
double r4239469 = r4239456 / r4239468;
double r4239470 = 6.398010735699759e+134;
bool r4239471 = r4239451 <= r4239470;
double r4239472 = sqrt(r4239455);
double r4239473 = r4239472 * r4239451;
double r4239474 = r4239472 * r4239473;
double r4239475 = l;
double r4239476 = r4239454 * r4239475;
double r4239477 = r4239475 / r4239457;
double r4239478 = r4239476 * r4239477;
double r4239479 = r4239451 * r4239451;
double r4239480 = 4.0;
double r4239481 = r4239480 / r4239457;
double r4239482 = r4239454 + r4239481;
double r4239483 = r4239479 * r4239482;
double r4239484 = r4239478 + r4239483;
double r4239485 = sqrt(r4239484);
double r4239486 = r4239474 / r4239485;
double r4239487 = r4239457 * r4239455;
double r4239488 = r4239454 / r4239487;
double r4239489 = r4239455 + r4239488;
double r4239490 = r4239489 * r4239451;
double r4239491 = r4239464 / r4239455;
double r4239492 = r4239491 / r4239457;
double r4239493 = r4239490 - r4239492;
double r4239494 = r4239456 / r4239493;
double r4239495 = r4239471 ? r4239486 : r4239494;
double r4239496 = r4239453 ? r4239469 : r4239495;
return r4239496;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.9272954767798406e+17Initial program 41.7
Taylor expanded around -inf 5.1
Simplified5.1
if -1.9272954767798406e+17 < t < 6.398010735699759e+134Initial program 37.5
Taylor expanded around -inf 17.7
Simplified13.9
rmApplied add-sqr-sqrt13.9
Applied sqrt-prod14.0
Applied associate-*l*13.9
if 6.398010735699759e+134 < t Initial program 57.0
Taylor expanded around -inf 56.8
Simplified56.0
Taylor expanded around inf 2.3
Simplified2.3
Final simplification9.6
herbie shell --seed 2019107
(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)))))