\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 r38519 = 2.0;
double r38520 = sqrt(r38519);
double r38521 = t;
double r38522 = r38520 * r38521;
double r38523 = x;
double r38524 = 1.0;
double r38525 = r38523 + r38524;
double r38526 = r38523 - r38524;
double r38527 = r38525 / r38526;
double r38528 = l;
double r38529 = r38528 * r38528;
double r38530 = r38521 * r38521;
double r38531 = r38519 * r38530;
double r38532 = r38529 + r38531;
double r38533 = r38527 * r38532;
double r38534 = r38533 - r38529;
double r38535 = sqrt(r38534);
double r38536 = r38522 / r38535;
return r38536;
}
double f(double x, double l, double t) {
double r38537 = t;
double r38538 = -2.1110000415802235e+150;
bool r38539 = r38537 <= r38538;
double r38540 = 2.0;
double r38541 = sqrt(r38540);
double r38542 = r38541 * r38537;
double r38543 = 3.0;
double r38544 = pow(r38541, r38543);
double r38545 = x;
double r38546 = 2.0;
double r38547 = pow(r38545, r38546);
double r38548 = r38544 * r38547;
double r38549 = r38537 / r38548;
double r38550 = r38541 * r38547;
double r38551 = r38537 / r38550;
double r38552 = r38541 * r38545;
double r38553 = r38537 / r38552;
double r38554 = r38537 * r38541;
double r38555 = fma(r38540, r38553, r38554);
double r38556 = fma(r38540, r38551, r38555);
double r38557 = -r38556;
double r38558 = fma(r38540, r38549, r38557);
double r38559 = r38542 / r38558;
double r38560 = -1.0710696814608467e-172;
bool r38561 = r38537 <= r38560;
double r38562 = cbrt(r38541);
double r38563 = r38562 * r38562;
double r38564 = r38562 * r38537;
double r38565 = r38563 * r38564;
double r38566 = pow(r38537, r38546);
double r38567 = l;
double r38568 = r38567 / r38545;
double r38569 = r38567 * r38568;
double r38570 = 4.0;
double r38571 = r38566 / r38545;
double r38572 = r38570 * r38571;
double r38573 = fma(r38540, r38569, r38572);
double r38574 = fma(r38540, r38566, r38573);
double r38575 = sqrt(r38574);
double r38576 = r38565 / r38575;
double r38577 = -3.853780726509439e-213;
bool r38578 = r38537 <= r38577;
double r38579 = 8.692195871820052e+51;
bool r38580 = r38537 <= r38579;
double r38581 = r38540 * r38549;
double r38582 = r38555 - r38581;
double r38583 = fma(r38540, r38551, r38582);
double r38584 = r38542 / r38583;
double r38585 = r38580 ? r38576 : r38584;
double r38586 = r38578 ? r38559 : r38585;
double r38587 = r38561 ? r38576 : r38586;
double r38588 = r38539 ? r38559 : r38587;
return r38588;
}



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