\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 -5.3763172653150525 \cdot 10^{+132}:\\
\;\;\;\;\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 -3.092030381064679 \cdot 10^{-152}:\\
\;\;\;\;\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \frac{\sqrt[3]{\sqrt{2}}}{\frac{\sqrt{\frac{\ell}{x} \cdot \left(\ell \cdot 2\right) + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}{t}}\\
\mathbf{elif}\;t \le 6.280401567266048 \cdot 10^{-279}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\sqrt{\left(\left(\ell \cdot \ell\right) \cdot \left(4 - \frac{4}{x} \cdot \left(2 - \frac{4}{x}\right)\right)\right) \cdot 2 + \left(\frac{\frac{64}{x \cdot x}}{x} + 8\right) \cdot \left(\left(t \cdot t\right) \cdot x\right)}}{\sqrt{x \cdot \left(\left(4 - 2 \cdot \frac{4}{x}\right) + \frac{4}{x} \cdot \frac{4}{x}\right)} \cdot t}}\\
\mathbf{elif}\;t \le 5.369099999497632 \cdot 10^{-183}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\frac{2}{x}}{\sqrt{2}} + \sqrt{2}}\\
\mathbf{elif}\;t \le 8.66496591056846 \cdot 10^{+24}:\\
\;\;\;\;\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \frac{\sqrt[3]{\sqrt{2}}}{\frac{\sqrt{\frac{\ell}{x} \cdot \left(\ell \cdot 2\right) + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\frac{2}{x}}{\sqrt{2}} + \sqrt{2}}\\
\end{array}double f(double x, double l, double t) {
double r8126473 = 2.0;
double r8126474 = sqrt(r8126473);
double r8126475 = t;
double r8126476 = r8126474 * r8126475;
double r8126477 = x;
double r8126478 = 1.0;
double r8126479 = r8126477 + r8126478;
double r8126480 = r8126477 - r8126478;
double r8126481 = r8126479 / r8126480;
double r8126482 = l;
double r8126483 = r8126482 * r8126482;
double r8126484 = r8126475 * r8126475;
double r8126485 = r8126473 * r8126484;
double r8126486 = r8126483 + r8126485;
double r8126487 = r8126481 * r8126486;
double r8126488 = r8126487 - r8126483;
double r8126489 = sqrt(r8126488);
double r8126490 = r8126476 / r8126489;
return r8126490;
}
double f(double x, double l, double t) {
double r8126491 = t;
double r8126492 = -5.3763172653150525e+132;
bool r8126493 = r8126491 <= r8126492;
double r8126494 = 2.0;
double r8126495 = sqrt(r8126494);
double r8126496 = r8126495 * r8126491;
double r8126497 = x;
double r8126498 = r8126497 * r8126497;
double r8126499 = r8126491 / r8126498;
double r8126500 = 1.0;
double r8126501 = r8126500 / r8126495;
double r8126502 = r8126499 * r8126501;
double r8126503 = r8126494 / r8126495;
double r8126504 = r8126491 / r8126497;
double r8126505 = r8126504 + r8126499;
double r8126506 = r8126503 * r8126505;
double r8126507 = r8126506 + r8126496;
double r8126508 = r8126502 - r8126507;
double r8126509 = r8126496 / r8126508;
double r8126510 = -3.092030381064679e-152;
bool r8126511 = r8126491 <= r8126510;
double r8126512 = cbrt(r8126495);
double r8126513 = r8126512 * r8126512;
double r8126514 = l;
double r8126515 = r8126514 / r8126497;
double r8126516 = r8126514 * r8126494;
double r8126517 = r8126515 * r8126516;
double r8126518 = r8126491 * r8126491;
double r8126519 = 4.0;
double r8126520 = r8126519 / r8126497;
double r8126521 = r8126494 + r8126520;
double r8126522 = r8126518 * r8126521;
double r8126523 = r8126517 + r8126522;
double r8126524 = sqrt(r8126523);
double r8126525 = r8126524 / r8126491;
double r8126526 = r8126512 / r8126525;
double r8126527 = r8126513 * r8126526;
double r8126528 = 6.280401567266048e-279;
bool r8126529 = r8126491 <= r8126528;
double r8126530 = r8126514 * r8126514;
double r8126531 = r8126494 - r8126520;
double r8126532 = r8126520 * r8126531;
double r8126533 = r8126519 - r8126532;
double r8126534 = r8126530 * r8126533;
double r8126535 = r8126534 * r8126494;
double r8126536 = 64.0;
double r8126537 = r8126536 / r8126498;
double r8126538 = r8126537 / r8126497;
double r8126539 = 8.0;
double r8126540 = r8126538 + r8126539;
double r8126541 = r8126518 * r8126497;
double r8126542 = r8126540 * r8126541;
double r8126543 = r8126535 + r8126542;
double r8126544 = sqrt(r8126543);
double r8126545 = r8126494 * r8126520;
double r8126546 = r8126519 - r8126545;
double r8126547 = r8126520 * r8126520;
double r8126548 = r8126546 + r8126547;
double r8126549 = r8126497 * r8126548;
double r8126550 = sqrt(r8126549);
double r8126551 = r8126550 * r8126491;
double r8126552 = r8126544 / r8126551;
double r8126553 = r8126495 / r8126552;
double r8126554 = 5.369099999497632e-183;
bool r8126555 = r8126491 <= r8126554;
double r8126556 = r8126494 / r8126497;
double r8126557 = r8126556 / r8126495;
double r8126558 = r8126557 + r8126495;
double r8126559 = r8126495 / r8126558;
double r8126560 = 8.66496591056846e+24;
bool r8126561 = r8126491 <= r8126560;
double r8126562 = r8126561 ? r8126527 : r8126559;
double r8126563 = r8126555 ? r8126559 : r8126562;
double r8126564 = r8126529 ? r8126553 : r8126563;
double r8126565 = r8126511 ? r8126527 : r8126564;
double r8126566 = r8126493 ? r8126509 : r8126565;
return r8126566;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -5.3763172653150525e+132Initial program 57.2
Taylor expanded around -inf 1.9
Simplified1.9
if -5.3763172653150525e+132 < t < -3.092030381064679e-152 or 5.369099999497632e-183 < t < 8.66496591056846e+24Initial program 26.9
Taylor expanded around inf 10.7
Simplified5.9
rmApplied associate-/l*5.9
rmApplied *-un-lft-identity5.9
Applied *-un-lft-identity5.9
Applied times-frac5.9
Applied add-cube-cbrt5.9
Applied times-frac5.6
Simplified5.6
if -3.092030381064679e-152 < t < 6.280401567266048e-279Initial program 60.7
Taylor expanded around inf 33.8
Simplified32.1
rmApplied associate-/l*32.9
rmApplied associate-*r/34.1
Applied flip3-+34.1
Applied associate-*r/34.1
Applied frac-add34.4
Applied sqrt-div29.6
Applied associate-/l/29.6
Simplified29.6
if 6.280401567266048e-279 < t < 5.369099999497632e-183 or 8.66496591056846e+24 < t Initial program 45.1
Taylor expanded around inf 38.1
Simplified36.0
rmApplied associate-/l*36.1
Taylor expanded around inf 9.7
Simplified9.7
Final simplification9.1
herbie shell --seed 2019121
(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)))))