\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 -3.5141814096893173 \cdot 10^{+140}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\left(\frac{\frac{t}{\sqrt{2}}}{2} - \frac{t}{\sqrt{2}}\right) \cdot \frac{2}{x \cdot x} - \sqrt{2} \cdot t\right) - \frac{t}{\sqrt{2}} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 2.46097945070799 \cdot 10^{+64}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot t\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\sqrt{\left(t \cdot \frac{t}{x}\right) \cdot 4 + 2 \cdot \left(\ell \cdot \frac{\ell}{x} + t \cdot t\right)}} \cdot \sqrt{\sqrt{\left(t \cdot \frac{t}{x}\right) \cdot 4 + 2 \cdot \left(\ell \cdot \frac{\ell}{x} + t \cdot t\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{\sqrt{2}} - \frac{\frac{t}{\sqrt{2}}}{2}\right) \cdot \frac{2}{x \cdot x} + \left(\sqrt{2} \cdot t + \frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r2179839 = 2.0;
double r2179840 = sqrt(r2179839);
double r2179841 = t;
double r2179842 = r2179840 * r2179841;
double r2179843 = x;
double r2179844 = 1.0;
double r2179845 = r2179843 + r2179844;
double r2179846 = r2179843 - r2179844;
double r2179847 = r2179845 / r2179846;
double r2179848 = l;
double r2179849 = r2179848 * r2179848;
double r2179850 = r2179841 * r2179841;
double r2179851 = r2179839 * r2179850;
double r2179852 = r2179849 + r2179851;
double r2179853 = r2179847 * r2179852;
double r2179854 = r2179853 - r2179849;
double r2179855 = sqrt(r2179854);
double r2179856 = r2179842 / r2179855;
return r2179856;
}
double f(double x, double l, double t) {
double r2179857 = t;
double r2179858 = -3.5141814096893173e+140;
bool r2179859 = r2179857 <= r2179858;
double r2179860 = 2.0;
double r2179861 = sqrt(r2179860);
double r2179862 = r2179861 * r2179857;
double r2179863 = r2179857 / r2179861;
double r2179864 = r2179863 / r2179860;
double r2179865 = r2179864 - r2179863;
double r2179866 = x;
double r2179867 = r2179866 * r2179866;
double r2179868 = r2179860 / r2179867;
double r2179869 = r2179865 * r2179868;
double r2179870 = r2179869 - r2179862;
double r2179871 = r2179860 / r2179866;
double r2179872 = r2179863 * r2179871;
double r2179873 = r2179870 - r2179872;
double r2179874 = r2179862 / r2179873;
double r2179875 = 2.46097945070799e+64;
bool r2179876 = r2179857 <= r2179875;
double r2179877 = cbrt(r2179861);
double r2179878 = r2179877 * r2179857;
double r2179879 = r2179877 * r2179877;
double r2179880 = r2179878 * r2179879;
double r2179881 = r2179857 / r2179866;
double r2179882 = r2179857 * r2179881;
double r2179883 = 4.0;
double r2179884 = r2179882 * r2179883;
double r2179885 = l;
double r2179886 = r2179885 / r2179866;
double r2179887 = r2179885 * r2179886;
double r2179888 = r2179857 * r2179857;
double r2179889 = r2179887 + r2179888;
double r2179890 = r2179860 * r2179889;
double r2179891 = r2179884 + r2179890;
double r2179892 = sqrt(r2179891);
double r2179893 = sqrt(r2179892);
double r2179894 = r2179893 * r2179893;
double r2179895 = r2179880 / r2179894;
double r2179896 = r2179863 - r2179864;
double r2179897 = r2179896 * r2179868;
double r2179898 = r2179862 + r2179872;
double r2179899 = r2179897 + r2179898;
double r2179900 = r2179862 / r2179899;
double r2179901 = r2179876 ? r2179895 : r2179900;
double r2179902 = r2179859 ? r2179874 : r2179901;
return r2179902;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -3.5141814096893173e+140Initial program 58.3
Taylor expanded around -inf 2.4
Simplified2.4
if -3.5141814096893173e+140 < t < 2.46097945070799e+64Initial program 35.9
Taylor expanded around -inf 17.0
Simplified17.0
rmApplied *-un-lft-identity17.0
Applied times-frac13.1
Simplified13.1
rmApplied add-cube-cbrt13.1
Applied associate-*l*13.0
rmApplied add-sqr-sqrt13.0
Applied sqrt-prod13.2
if 2.46097945070799e+64 < t Initial program 45.6
Taylor expanded around inf 3.7
Simplified3.7
Final simplification9.2
herbie shell --seed 2019143
(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)))))