\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 -9.583977798108110900162476286547585661621 \cdot 10^{138}:\\
\;\;\;\;\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 -6.696367244110020413430084956000329612319 \cdot 10^{-164}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \left(\left(\frac{\left|{\left(\sqrt[3]{\ell}\right)}^{2}\right|}{\sqrt[3]{x}} \cdot \frac{1}{\sqrt[3]{x}}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\ell}}\right)}^{4}\right) \cdot \frac{\left|{\left(\sqrt[3]{\ell}\right)}^{2}\right| \cdot {\left(\sqrt[3]{\sqrt[3]{\ell}}\right)}^{2}}{\sqrt[3]{x}}\right)}}\\
\mathbf{elif}\;t \le -3.088634056538455682354250066621880548059 \cdot 10^{-240}:\\
\;\;\;\;\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 9.909309527651243252484098193013516257504 \cdot 10^{-270}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\left|\ell\right|}{\sqrt{x}} \cdot \frac{\left|\ell\right|}{\sqrt{x}}\right)}}\\
\mathbf{elif}\;t \le 3.291216122192683495789321781028557839903 \cdot 10^{-130}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(\sqrt{2} \cdot t - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\mathbf{elif}\;t \le 2.174990866497024471017537763220387342123 \cdot 10^{85}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)}^{2}}{\frac{x}{{\left(\sqrt[3]{\ell}\right)}^{2}}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(\sqrt{2} \cdot t - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r41459 = 2.0;
double r41460 = sqrt(r41459);
double r41461 = t;
double r41462 = r41460 * r41461;
double r41463 = x;
double r41464 = 1.0;
double r41465 = r41463 + r41464;
double r41466 = r41463 - r41464;
double r41467 = r41465 / r41466;
double r41468 = l;
double r41469 = r41468 * r41468;
double r41470 = r41461 * r41461;
double r41471 = r41459 * r41470;
double r41472 = r41469 + r41471;
double r41473 = r41467 * r41472;
double r41474 = r41473 - r41469;
double r41475 = sqrt(r41474);
double r41476 = r41462 / r41475;
return r41476;
}
double f(double x, double l, double t) {
double r41477 = t;
double r41478 = -9.583977798108111e+138;
bool r41479 = r41477 <= r41478;
double r41480 = 2.0;
double r41481 = sqrt(r41480);
double r41482 = r41481 * r41477;
double r41483 = 3.0;
double r41484 = pow(r41481, r41483);
double r41485 = x;
double r41486 = 2.0;
double r41487 = pow(r41485, r41486);
double r41488 = r41484 * r41487;
double r41489 = r41477 / r41488;
double r41490 = r41481 * r41487;
double r41491 = r41477 / r41490;
double r41492 = r41489 - r41491;
double r41493 = r41480 * r41492;
double r41494 = r41493 - r41482;
double r41495 = r41481 * r41485;
double r41496 = r41477 / r41495;
double r41497 = r41480 * r41496;
double r41498 = r41494 - r41497;
double r41499 = r41482 / r41498;
double r41500 = -6.6963672441100204e-164;
bool r41501 = r41477 <= r41500;
double r41502 = 4.0;
double r41503 = pow(r41477, r41486);
double r41504 = r41503 / r41485;
double r41505 = r41502 * r41504;
double r41506 = l;
double r41507 = cbrt(r41506);
double r41508 = pow(r41507, r41486);
double r41509 = fabs(r41508);
double r41510 = cbrt(r41485);
double r41511 = r41509 / r41510;
double r41512 = 1.0;
double r41513 = r41512 / r41510;
double r41514 = r41511 * r41513;
double r41515 = cbrt(r41507);
double r41516 = 4.0;
double r41517 = pow(r41515, r41516);
double r41518 = r41514 * r41517;
double r41519 = pow(r41515, r41486);
double r41520 = r41509 * r41519;
double r41521 = r41520 / r41510;
double r41522 = r41518 * r41521;
double r41523 = r41503 + r41522;
double r41524 = r41480 * r41523;
double r41525 = r41505 + r41524;
double r41526 = sqrt(r41525);
double r41527 = r41482 / r41526;
double r41528 = -3.0886340565384557e-240;
bool r41529 = r41477 <= r41528;
double r41530 = 9.909309527651243e-270;
bool r41531 = r41477 <= r41530;
double r41532 = fabs(r41506);
double r41533 = sqrt(r41485);
double r41534 = r41532 / r41533;
double r41535 = r41534 * r41534;
double r41536 = r41503 + r41535;
double r41537 = r41480 * r41536;
double r41538 = r41505 + r41537;
double r41539 = sqrt(r41538);
double r41540 = r41482 / r41539;
double r41541 = 3.2912161221926835e-130;
bool r41542 = r41477 <= r41541;
double r41543 = r41491 + r41496;
double r41544 = r41480 * r41543;
double r41545 = r41480 * r41489;
double r41546 = r41482 - r41545;
double r41547 = r41544 + r41546;
double r41548 = r41482 / r41547;
double r41549 = 2.1749908664970245e+85;
bool r41550 = r41477 <= r41549;
double r41551 = r41507 * r41507;
double r41552 = pow(r41551, r41486);
double r41553 = r41485 / r41508;
double r41554 = r41552 / r41553;
double r41555 = r41503 + r41554;
double r41556 = r41480 * r41555;
double r41557 = r41505 + r41556;
double r41558 = sqrt(r41557);
double r41559 = r41482 / r41558;
double r41560 = r41550 ? r41559 : r41548;
double r41561 = r41542 ? r41548 : r41560;
double r41562 = r41531 ? r41540 : r41561;
double r41563 = r41529 ? r41499 : r41562;
double r41564 = r41501 ? r41527 : r41563;
double r41565 = r41479 ? r41499 : r41564;
return r41565;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -9.583977798108111e+138 or -6.6963672441100204e-164 < t < -3.0886340565384557e-240Initial program 59.1
Taylor expanded around -inf 9.8
Simplified9.8
if -9.583977798108111e+138 < t < -6.6963672441100204e-164Initial program 25.3
Taylor expanded around inf 10.3
Simplified10.3
rmApplied add-cube-cbrt10.4
Applied unpow-prod-down10.4
Applied associate-/l*6.7
rmApplied add-cube-cbrt6.8
Applied unpow-prod-down6.8
Applied add-cube-cbrt6.8
Applied times-frac6.8
Applied add-sqr-sqrt6.8
Applied times-frac6.8
Simplified6.8
Simplified5.6
if -3.0886340565384557e-240 < t < 9.909309527651243e-270Initial program 62.8
Taylor expanded around inf 32.0
Simplified32.0
rmApplied add-sqr-sqrt32.0
Applied add-sqr-sqrt32.0
Applied times-frac32.0
Simplified32.0
Simplified31.9
if 9.909309527651243e-270 < t < 3.2912161221926835e-130 or 2.1749908664970245e+85 < t Initial program 51.7
Taylor expanded around inf 12.2
Simplified12.2
if 3.2912161221926835e-130 < t < 2.1749908664970245e+85Initial program 25.4
Taylor expanded around inf 9.9
Simplified9.9
rmApplied add-cube-cbrt10.0
Applied unpow-prod-down10.0
Applied associate-/l*6.5
Final simplification10.3
herbie shell --seed 2019346
(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)))))