\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.397305156304466012482107522690315080951 \cdot 10^{105}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le 3.16626920683862038527006405926439879237 \cdot 10^{113}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(4, \frac{{t}^{2}}{x}, 2 \cdot \mathsf{fma}\left(t, t, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\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}}}\\
\end{array}double f(double x, double l, double t) {
double r42585 = 2.0;
double r42586 = sqrt(r42585);
double r42587 = t;
double r42588 = r42586 * r42587;
double r42589 = x;
double r42590 = 1.0;
double r42591 = r42589 + r42590;
double r42592 = r42589 - r42590;
double r42593 = r42591 / r42592;
double r42594 = l;
double r42595 = r42594 * r42594;
double r42596 = r42587 * r42587;
double r42597 = r42585 * r42596;
double r42598 = r42595 + r42597;
double r42599 = r42593 * r42598;
double r42600 = r42599 - r42595;
double r42601 = sqrt(r42600);
double r42602 = r42588 / r42601;
return r42602;
}
double f(double x, double l, double t) {
double r42603 = t;
double r42604 = -1.397305156304466e+105;
bool r42605 = r42603 <= r42604;
double r42606 = 2.0;
double r42607 = sqrt(r42606);
double r42608 = r42607 * r42603;
double r42609 = 3.0;
double r42610 = pow(r42607, r42609);
double r42611 = x;
double r42612 = 2.0;
double r42613 = pow(r42611, r42612);
double r42614 = r42610 * r42613;
double r42615 = r42603 / r42614;
double r42616 = r42607 * r42613;
double r42617 = r42603 / r42616;
double r42618 = r42615 - r42617;
double r42619 = r42606 * r42618;
double r42620 = r42607 * r42611;
double r42621 = r42603 / r42620;
double r42622 = r42603 * r42607;
double r42623 = fma(r42606, r42621, r42622);
double r42624 = r42619 - r42623;
double r42625 = r42608 / r42624;
double r42626 = 3.1662692068386204e+113;
bool r42627 = r42603 <= r42626;
double r42628 = 4.0;
double r42629 = pow(r42603, r42612);
double r42630 = r42629 / r42611;
double r42631 = l;
double r42632 = fabs(r42631);
double r42633 = r42632 / r42611;
double r42634 = r42632 * r42633;
double r42635 = fma(r42603, r42603, r42634);
double r42636 = r42606 * r42635;
double r42637 = fma(r42628, r42630, r42636);
double r42638 = sqrt(r42637);
double r42639 = r42608 / r42638;
double r42640 = r42606 * r42615;
double r42641 = r42623 - r42640;
double r42642 = r42608 / r42641;
double r42643 = r42627 ? r42639 : r42642;
double r42644 = r42605 ? r42625 : r42643;
return r42644;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.397305156304466e+105Initial program 50.9
Taylor expanded around -inf 3.0
Simplified3.0
if -1.397305156304466e+105 < t < 3.1662692068386204e+113Initial program 37.7
Taylor expanded around inf 17.6
Simplified17.6
rmApplied *-un-lft-identity17.6
Applied add-sqr-sqrt17.6
Applied times-frac17.6
Simplified17.6
Simplified13.2
if 3.1662692068386204e+113 < t Initial program 52.7
Taylor expanded around inf 52.7
Simplified52.7
rmApplied *-un-lft-identity52.7
Applied add-sqr-sqrt52.7
Applied times-frac52.7
Simplified52.7
Simplified51.8
Taylor expanded around inf 2.8
Simplified2.8
Final simplification9.2
herbie shell --seed 2019212 +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)))))