\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 -2.111000041580223529443968142716501710902 \cdot 10^{150}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le -1.071069681460846652725548995559388373135 \cdot 10^{-172}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -3.853780726509438926031971852746276593106 \cdot 10^{-213}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le 8.692195871820052223377296517762777409105 \cdot 10^{51}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r38482 = 2.0;
double r38483 = sqrt(r38482);
double r38484 = t;
double r38485 = r38483 * r38484;
double r38486 = x;
double r38487 = 1.0;
double r38488 = r38486 + r38487;
double r38489 = r38486 - r38487;
double r38490 = r38488 / r38489;
double r38491 = l;
double r38492 = r38491 * r38491;
double r38493 = r38484 * r38484;
double r38494 = r38482 * r38493;
double r38495 = r38492 + r38494;
double r38496 = r38490 * r38495;
double r38497 = r38496 - r38492;
double r38498 = sqrt(r38497);
double r38499 = r38485 / r38498;
return r38499;
}
double f(double x, double l, double t) {
double r38500 = t;
double r38501 = -2.1110000415802235e+150;
bool r38502 = r38500 <= r38501;
double r38503 = 2.0;
double r38504 = sqrt(r38503);
double r38505 = r38504 * r38500;
double r38506 = 3.0;
double r38507 = pow(r38504, r38506);
double r38508 = x;
double r38509 = 2.0;
double r38510 = pow(r38508, r38509);
double r38511 = r38507 * r38510;
double r38512 = r38500 / r38511;
double r38513 = r38504 * r38510;
double r38514 = r38500 / r38513;
double r38515 = r38504 * r38508;
double r38516 = r38500 / r38515;
double r38517 = r38500 * r38504;
double r38518 = fma(r38503, r38516, r38517);
double r38519 = fma(r38503, r38514, r38518);
double r38520 = -r38519;
double r38521 = fma(r38503, r38512, r38520);
double r38522 = r38505 / r38521;
double r38523 = -1.0710696814608467e-172;
bool r38524 = r38500 <= r38523;
double r38525 = cbrt(r38504);
double r38526 = r38525 * r38525;
double r38527 = r38525 * r38500;
double r38528 = r38526 * r38527;
double r38529 = pow(r38500, r38509);
double r38530 = l;
double r38531 = r38530 / r38508;
double r38532 = r38530 * r38531;
double r38533 = 4.0;
double r38534 = r38529 / r38508;
double r38535 = r38533 * r38534;
double r38536 = fma(r38503, r38532, r38535);
double r38537 = fma(r38503, r38529, r38536);
double r38538 = sqrt(r38537);
double r38539 = r38528 / r38538;
double r38540 = -3.853780726509439e-213;
bool r38541 = r38500 <= r38540;
double r38542 = 8.692195871820052e+51;
bool r38543 = r38500 <= r38542;
double r38544 = r38503 * r38512;
double r38545 = r38518 - r38544;
double r38546 = fma(r38503, r38514, r38545);
double r38547 = r38505 / r38546;
double r38548 = r38543 ? r38539 : r38547;
double r38549 = r38541 ? r38522 : r38548;
double r38550 = r38524 ? r38539 : r38549;
double r38551 = r38502 ? r38522 : r38550;
return r38551;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -2.1110000415802235e+150 or -1.0710696814608467e-172 < t < -3.853780726509439e-213Initial program 61.8
Taylor expanded around -inf 6.8
Simplified6.8
if -2.1110000415802235e+150 < t < -1.0710696814608467e-172 or -3.853780726509439e-213 < t < 8.692195871820052e+51Initial program 36.6
Taylor expanded around inf 16.4
Simplified16.4
rmApplied *-un-lft-identity16.4
Applied add-sqr-sqrt40.3
Applied unpow-prod-down40.3
Applied times-frac38.0
Simplified38.0
Simplified12.0
rmApplied add-cube-cbrt12.0
Applied associate-*l*11.9
if 8.692195871820052e+51 < t Initial program 44.7
Taylor expanded around inf 3.9
Simplified3.9
Final simplification9.0
herbie shell --seed 2019353 +o rules:numerics
(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)))))