\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 -8.954275544416124 \cdot 10^{+61}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{t}{2 \cdot \sqrt{2}} - \frac{t}{\sqrt{2}}\right) \cdot \frac{\frac{2}{x}}{x} - \sqrt{2} \cdot t\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 4.8064993713964147 \cdot 10^{+83}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right) + \frac{4}{x} \cdot \left(t \cdot t\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} - \frac{t}{2 \cdot \sqrt{2}}\right) \cdot \frac{\frac{2}{x}}{x} + \left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x} + \sqrt{2} \cdot t\right)}\\
\end{array}double f(double x, double l, double t) {
double r1265701 = 2.0;
double r1265702 = sqrt(r1265701);
double r1265703 = t;
double r1265704 = r1265702 * r1265703;
double r1265705 = x;
double r1265706 = 1.0;
double r1265707 = r1265705 + r1265706;
double r1265708 = r1265705 - r1265706;
double r1265709 = r1265707 / r1265708;
double r1265710 = l;
double r1265711 = r1265710 * r1265710;
double r1265712 = r1265703 * r1265703;
double r1265713 = r1265701 * r1265712;
double r1265714 = r1265711 + r1265713;
double r1265715 = r1265709 * r1265714;
double r1265716 = r1265715 - r1265711;
double r1265717 = sqrt(r1265716);
double r1265718 = r1265704 / r1265717;
return r1265718;
}
double f(double x, double l, double t) {
double r1265719 = t;
double r1265720 = -8.954275544416124e+61;
bool r1265721 = r1265719 <= r1265720;
double r1265722 = 2.0;
double r1265723 = sqrt(r1265722);
double r1265724 = r1265723 * r1265719;
double r1265725 = r1265722 * r1265723;
double r1265726 = r1265719 / r1265725;
double r1265727 = r1265719 / r1265723;
double r1265728 = r1265726 - r1265727;
double r1265729 = x;
double r1265730 = r1265722 / r1265729;
double r1265731 = r1265730 / r1265729;
double r1265732 = r1265728 * r1265731;
double r1265733 = r1265732 - r1265724;
double r1265734 = r1265727 * r1265730;
double r1265735 = r1265733 - r1265734;
double r1265736 = r1265724 / r1265735;
double r1265737 = 4.8064993713964147e+83;
bool r1265738 = r1265719 <= r1265737;
double r1265739 = r1265719 * r1265719;
double r1265740 = l;
double r1265741 = r1265740 / r1265729;
double r1265742 = r1265740 * r1265741;
double r1265743 = r1265739 + r1265742;
double r1265744 = r1265722 * r1265743;
double r1265745 = 4.0;
double r1265746 = r1265745 / r1265729;
double r1265747 = r1265746 * r1265739;
double r1265748 = r1265744 + r1265747;
double r1265749 = sqrt(r1265748);
double r1265750 = r1265724 / r1265749;
double r1265751 = r1265727 - r1265726;
double r1265752 = r1265751 * r1265731;
double r1265753 = r1265734 + r1265724;
double r1265754 = r1265752 + r1265753;
double r1265755 = r1265724 / r1265754;
double r1265756 = r1265738 ? r1265750 : r1265755;
double r1265757 = r1265721 ? r1265736 : r1265756;
return r1265757;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -8.954275544416124e+61Initial program 45.8
Taylor expanded around -inf 3.6
Simplified3.6
if -8.954275544416124e+61 < t < 4.8064993713964147e+83Initial program 37.8
Taylor expanded around inf 17.4
Simplified13.6
Taylor expanded around inf 17.4
Simplified13.6
if 4.8064993713964147e+83 < t Initial program 47.8
Taylor expanded around inf 3.6
Simplified3.6
Final simplification9.0
herbie shell --seed 2019149
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))