\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 r4239438 = 2.0;
double r4239439 = sqrt(r4239438);
double r4239440 = t;
double r4239441 = r4239439 * r4239440;
double r4239442 = x;
double r4239443 = 1.0;
double r4239444 = r4239442 + r4239443;
double r4239445 = r4239442 - r4239443;
double r4239446 = r4239444 / r4239445;
double r4239447 = l;
double r4239448 = r4239447 * r4239447;
double r4239449 = r4239440 * r4239440;
double r4239450 = r4239438 * r4239449;
double r4239451 = r4239448 + r4239450;
double r4239452 = r4239446 * r4239451;
double r4239453 = r4239452 - r4239448;
double r4239454 = sqrt(r4239453);
double r4239455 = r4239441 / r4239454;
return r4239455;
}
double f(double x, double l, double t) {
double r4239456 = t;
double r4239457 = -1.9272954767798406e+17;
bool r4239458 = r4239456 <= r4239457;
double r4239459 = 2.0;
double r4239460 = sqrt(r4239459);
double r4239461 = r4239460 * r4239456;
double r4239462 = x;
double r4239463 = r4239462 * r4239462;
double r4239464 = r4239456 / r4239463;
double r4239465 = 1.0;
double r4239466 = r4239465 / r4239460;
double r4239467 = r4239464 * r4239466;
double r4239468 = r4239459 / r4239460;
double r4239469 = r4239456 / r4239462;
double r4239470 = r4239469 + r4239464;
double r4239471 = r4239468 * r4239470;
double r4239472 = r4239471 + r4239461;
double r4239473 = r4239467 - r4239472;
double r4239474 = r4239461 / r4239473;
double r4239475 = 6.398010735699759e+134;
bool r4239476 = r4239456 <= r4239475;
double r4239477 = sqrt(r4239460);
double r4239478 = r4239477 * r4239456;
double r4239479 = r4239477 * r4239478;
double r4239480 = l;
double r4239481 = r4239459 * r4239480;
double r4239482 = r4239480 / r4239462;
double r4239483 = r4239481 * r4239482;
double r4239484 = r4239456 * r4239456;
double r4239485 = 4.0;
double r4239486 = r4239485 / r4239462;
double r4239487 = r4239459 + r4239486;
double r4239488 = r4239484 * r4239487;
double r4239489 = r4239483 + r4239488;
double r4239490 = sqrt(r4239489);
double r4239491 = r4239479 / r4239490;
double r4239492 = r4239462 * r4239460;
double r4239493 = r4239459 / r4239492;
double r4239494 = r4239460 + r4239493;
double r4239495 = r4239494 * r4239456;
double r4239496 = r4239469 / r4239460;
double r4239497 = r4239496 / r4239462;
double r4239498 = r4239495 - r4239497;
double r4239499 = r4239461 / r4239498;
double r4239500 = r4239476 ? r4239491 : r4239499;
double r4239501 = r4239458 ? r4239474 : r4239500;
return r4239501;
}



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)))))