\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 -4.8347804741814161155141156236901357698 \cdot 10^{146}:\\
\;\;\;\;\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.99176482679971585890510906753364321574 \cdot 10^{66}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{1}}{\frac{x}{\ell}}\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 r34629 = 2.0;
double r34630 = sqrt(r34629);
double r34631 = t;
double r34632 = r34630 * r34631;
double r34633 = x;
double r34634 = 1.0;
double r34635 = r34633 + r34634;
double r34636 = r34633 - r34634;
double r34637 = r34635 / r34636;
double r34638 = l;
double r34639 = r34638 * r34638;
double r34640 = r34631 * r34631;
double r34641 = r34629 * r34640;
double r34642 = r34639 + r34641;
double r34643 = r34637 * r34642;
double r34644 = r34643 - r34639;
double r34645 = sqrt(r34644);
double r34646 = r34632 / r34645;
return r34646;
}
double f(double x, double l, double t) {
double r34647 = t;
double r34648 = -4.834780474181416e+146;
bool r34649 = r34647 <= r34648;
double r34650 = 2.0;
double r34651 = sqrt(r34650);
double r34652 = r34651 * r34647;
double r34653 = 3.0;
double r34654 = pow(r34651, r34653);
double r34655 = x;
double r34656 = 2.0;
double r34657 = pow(r34655, r34656);
double r34658 = r34654 * r34657;
double r34659 = r34647 / r34658;
double r34660 = r34651 * r34657;
double r34661 = r34647 / r34660;
double r34662 = r34659 - r34661;
double r34663 = r34650 * r34662;
double r34664 = r34663 - r34652;
double r34665 = r34651 * r34655;
double r34666 = r34647 / r34665;
double r34667 = r34650 * r34666;
double r34668 = r34664 - r34667;
double r34669 = r34652 / r34668;
double r34670 = 9.991764826799716e+66;
bool r34671 = r34647 <= r34670;
double r34672 = 4.0;
double r34673 = pow(r34647, r34656);
double r34674 = r34673 / r34655;
double r34675 = r34672 * r34674;
double r34676 = l;
double r34677 = 1.0;
double r34678 = pow(r34676, r34677);
double r34679 = r34655 / r34676;
double r34680 = r34678 / r34679;
double r34681 = r34673 + r34680;
double r34682 = r34650 * r34681;
double r34683 = r34675 + r34682;
double r34684 = sqrt(r34683);
double r34685 = r34652 / r34684;
double r34686 = r34661 + r34666;
double r34687 = r34650 * r34686;
double r34688 = r34650 * r34659;
double r34689 = r34652 - r34688;
double r34690 = r34687 + r34689;
double r34691 = r34652 / r34690;
double r34692 = r34671 ? r34685 : r34691;
double r34693 = r34649 ? r34669 : r34692;
return r34693;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -4.834780474181416e+146Initial program 60.7
Taylor expanded around -inf 1.7
Simplified1.7
if -4.834780474181416e+146 < t < 9.991764826799716e+66Initial program 38.2
Taylor expanded around inf 18.2
Simplified18.2
rmApplied sqr-pow18.2
Applied associate-/l*13.7
Simplified13.7
if 9.991764826799716e+66 < t Initial program 46.6
Taylor expanded around inf 3.8
Simplified3.8
Final simplification9.6
herbie shell --seed 2019354
(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)))))