\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.661507795721962 \cdot 10^{+93}:\\
\;\;\;\;\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.088323180304518 \cdot 10^{+139}:\\
\;\;\;\;\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 r1234832 = 2.0;
double r1234833 = sqrt(r1234832);
double r1234834 = t;
double r1234835 = r1234833 * r1234834;
double r1234836 = x;
double r1234837 = 1.0;
double r1234838 = r1234836 + r1234837;
double r1234839 = r1234836 - r1234837;
double r1234840 = r1234838 / r1234839;
double r1234841 = l;
double r1234842 = r1234841 * r1234841;
double r1234843 = r1234834 * r1234834;
double r1234844 = r1234832 * r1234843;
double r1234845 = r1234842 + r1234844;
double r1234846 = r1234840 * r1234845;
double r1234847 = r1234846 - r1234842;
double r1234848 = sqrt(r1234847);
double r1234849 = r1234835 / r1234848;
return r1234849;
}
double f(double x, double l, double t) {
double r1234850 = t;
double r1234851 = -2.661507795721962e+93;
bool r1234852 = r1234850 <= r1234851;
double r1234853 = 2.0;
double r1234854 = sqrt(r1234853);
double r1234855 = r1234854 * r1234850;
double r1234856 = r1234853 * r1234854;
double r1234857 = r1234850 / r1234856;
double r1234858 = r1234850 / r1234854;
double r1234859 = r1234857 - r1234858;
double r1234860 = x;
double r1234861 = r1234853 / r1234860;
double r1234862 = r1234861 / r1234860;
double r1234863 = r1234859 * r1234862;
double r1234864 = r1234863 - r1234855;
double r1234865 = r1234858 * r1234861;
double r1234866 = r1234864 - r1234865;
double r1234867 = r1234855 / r1234866;
double r1234868 = 4.088323180304518e+139;
bool r1234869 = r1234850 <= r1234868;
double r1234870 = r1234850 * r1234850;
double r1234871 = l;
double r1234872 = r1234871 / r1234860;
double r1234873 = r1234871 * r1234872;
double r1234874 = r1234870 + r1234873;
double r1234875 = r1234853 * r1234874;
double r1234876 = 4.0;
double r1234877 = r1234876 / r1234860;
double r1234878 = r1234877 * r1234870;
double r1234879 = r1234875 + r1234878;
double r1234880 = sqrt(r1234879);
double r1234881 = r1234855 / r1234880;
double r1234882 = r1234858 - r1234857;
double r1234883 = r1234882 * r1234862;
double r1234884 = r1234865 + r1234855;
double r1234885 = r1234883 + r1234884;
double r1234886 = r1234855 / r1234885;
double r1234887 = r1234869 ? r1234881 : r1234886;
double r1234888 = r1234852 ? r1234867 : r1234887;
return r1234888;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.661507795721962e+93Initial program 50.3
Taylor expanded around -inf 3.1
Simplified3.1
if -2.661507795721962e+93 < t < 4.088323180304518e+139Initial program 35.8
Taylor expanded around -inf 17.0
Simplified12.9
Taylor expanded around -inf 17.0
Simplified12.9
if 4.088323180304518e+139 < t Initial program 57.8
Taylor expanded around inf 2.1
Simplified2.1
Final simplification9.1
herbie shell --seed 2019151
(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)))))