\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.606623675187166320307147356355623739061 \cdot 10^{75}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{-\mathsf{fma}\left(t, \sqrt{2}, 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\
\mathbf{elif}\;t \le 4.894745026611551231238356257343815376774 \cdot 10^{-226} \lor \neg \left(t \le 5.832383717323896654554068457322403291209 \cdot 10^{-160}\right) \land t \le 4869868199152865435985673923804373450752:\\
\;\;\;\;\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, \mathsf{fma}\left(t, t, \frac{\ell}{\frac{x}{\ell}}\right), 4 \cdot \frac{{t}^{2}}{x}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(t, \sqrt{2}, 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r29617 = 2.0;
double r29618 = sqrt(r29617);
double r29619 = t;
double r29620 = r29618 * r29619;
double r29621 = x;
double r29622 = 1.0;
double r29623 = r29621 + r29622;
double r29624 = r29621 - r29622;
double r29625 = r29623 / r29624;
double r29626 = l;
double r29627 = r29626 * r29626;
double r29628 = r29619 * r29619;
double r29629 = r29617 * r29628;
double r29630 = r29627 + r29629;
double r29631 = r29625 * r29630;
double r29632 = r29631 - r29627;
double r29633 = sqrt(r29632);
double r29634 = r29620 / r29633;
return r29634;
}
double f(double x, double l, double t) {
double r29635 = t;
double r29636 = -1.6066236751871663e+75;
bool r29637 = r29635 <= r29636;
double r29638 = 2.0;
double r29639 = sqrt(r29638);
double r29640 = r29639 * r29635;
double r29641 = x;
double r29642 = r29639 * r29641;
double r29643 = r29635 / r29642;
double r29644 = r29638 * r29643;
double r29645 = fma(r29635, r29639, r29644);
double r29646 = -r29645;
double r29647 = r29640 / r29646;
double r29648 = 4.894745026611551e-226;
bool r29649 = r29635 <= r29648;
double r29650 = 5.832383717323897e-160;
bool r29651 = r29635 <= r29650;
double r29652 = !r29651;
double r29653 = 4.8698681991528654e+39;
bool r29654 = r29635 <= r29653;
bool r29655 = r29652 && r29654;
bool r29656 = r29649 || r29655;
double r29657 = cbrt(r29639);
double r29658 = r29657 * r29657;
double r29659 = r29657 * r29635;
double r29660 = r29658 * r29659;
double r29661 = l;
double r29662 = r29641 / r29661;
double r29663 = r29661 / r29662;
double r29664 = fma(r29635, r29635, r29663);
double r29665 = 4.0;
double r29666 = 2.0;
double r29667 = pow(r29635, r29666);
double r29668 = r29667 / r29641;
double r29669 = r29665 * r29668;
double r29670 = fma(r29638, r29664, r29669);
double r29671 = sqrt(r29670);
double r29672 = r29660 / r29671;
double r29673 = r29640 / r29645;
double r29674 = r29656 ? r29672 : r29673;
double r29675 = r29637 ? r29647 : r29674;
return r29675;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.6066236751871663e+75Initial program 45.7
Simplified45.7
Taylor expanded around inf 45.0
Simplified45.0
Taylor expanded around -inf 3.0
Simplified3.0
if -1.6066236751871663e+75 < t < 4.894745026611551e-226 or 5.832383717323897e-160 < t < 4.8698681991528654e+39Initial program 38.5
Simplified38.5
Taylor expanded around inf 16.4
Simplified16.4
rmApplied unpow216.4
Applied associate-/l*12.5
rmApplied add-cube-cbrt12.5
Applied associate-*l*12.5
if 4.894745026611551e-226 < t < 5.832383717323897e-160 or 4.8698681991528654e+39 < t Initial program 47.3
Simplified47.3
Taylor expanded around inf 42.4
Simplified42.4
Taylor expanded around inf 8.0
Simplified8.0
Final simplification9.0
herbie shell --seed 2019351 +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)))))