double f(double x, double l, double t) {
double r2679877 = 2.0;
double r2679878 = sqrt(r2679877);
double r2679879 = t;
double r2679880 = r2679878 * r2679879;
double r2679881 = x;
double r2679882 = 1.0;
double r2679883 = r2679881 + r2679882;
double r2679884 = r2679881 - r2679882;
double r2679885 = r2679883 / r2679884;
double r2679886 = l;
double r2679887 = r2679886 * r2679886;
double r2679888 = r2679879 * r2679879;
double r2679889 = r2679877 * r2679888;
double r2679890 = r2679887 + r2679889;
double r2679891 = r2679885 * r2679890;
double r2679892 = r2679891 - r2679887;
double r2679893 = sqrt(r2679892);
double r2679894 = r2679880 / r2679893;
return r2679894;
}
double f(double x, double l, double t) {
double r2679895 = t;
double r2679896 = -1.0340743657029959e+72;
bool r2679897 = r2679895 <= r2679896;
double r2679898 = 2.0;
double r2679899 = sqrt(r2679898);
double r2679900 = r2679899 * r2679895;
double r2679901 = r2679898 / r2679899;
double r2679902 = x;
double r2679903 = r2679901 / r2679902;
double r2679904 = r2679903 / r2679898;
double r2679905 = r2679904 - r2679901;
double r2679906 = r2679895 / r2679902;
double r2679907 = r2679905 * r2679906;
double r2679908 = r2679907 - r2679900;
double r2679909 = r2679900 / r2679908;
double r2679910 = -1.1247133289660739e-156;
bool r2679911 = r2679895 <= r2679910;
double r2679912 = cbrt(r2679899);
double r2679913 = r2679912 * r2679912;
double r2679914 = r2679895 * r2679912;
double r2679915 = r2679913 * r2679914;
double r2679916 = l;
double r2679917 = r2679898 * r2679916;
double r2679918 = r2679916 / r2679902;
double r2679919 = r2679917 * r2679918;
double r2679920 = r2679895 * r2679895;
double r2679921 = 4.0;
double r2679922 = r2679921 / r2679902;
double r2679923 = r2679898 + r2679922;
double r2679924 = r2679920 * r2679923;
double r2679925 = r2679919 + r2679924;
double r2679926 = sqrt(r2679925);
double r2679927 = r2679915 / r2679926;
double r2679928 = -2.9187370589109163e-212;
bool r2679929 = r2679895 <= r2679928;
double r2679930 = 3.717493240869838e-166;
bool r2679931 = r2679895 <= r2679930;
double r2679932 = r2679898 - r2679922;
double r2679933 = r2679922 * r2679932;
double r2679934 = r2679921 - r2679933;
double r2679935 = r2679916 * r2679916;
double r2679936 = r2679934 * r2679935;
double r2679937 = r2679936 * r2679898;
double r2679938 = r2679902 * r2679920;
double r2679939 = 64.0;
double r2679940 = r2679902 * r2679902;
double r2679941 = r2679939 / r2679940;
double r2679942 = r2679941 / r2679902;
double r2679943 = 8.0;
double r2679944 = r2679942 + r2679943;
double r2679945 = r2679938 * r2679944;
double r2679946 = r2679937 + r2679945;
double r2679947 = sqrt(r2679946);
double r2679948 = r2679922 * r2679922;
double r2679949 = r2679898 * r2679922;
double r2679950 = r2679921 - r2679949;
double r2679951 = r2679948 + r2679950;
double r2679952 = r2679902 * r2679951;
double r2679953 = sqrt(r2679952);
double r2679954 = r2679947 / r2679953;
double r2679955 = r2679900 / r2679954;
double r2679956 = 7.412112828305608e-143;
bool r2679957 = r2679895 <= r2679956;
double r2679958 = r2679898 / r2679902;
double r2679959 = r2679958 / r2679902;
double r2679960 = r2679959 + r2679958;
double r2679961 = r2679895 / r2679899;
double r2679962 = r2679960 * r2679961;
double r2679963 = r2679895 / r2679940;
double r2679964 = 1.0;
double r2679965 = r2679964 / r2679899;
double r2679966 = r2679963 * r2679965;
double r2679967 = r2679900 - r2679966;
double r2679968 = r2679962 + r2679967;
double r2679969 = r2679900 / r2679968;
double r2679970 = 3.0842295975516618e+63;
bool r2679971 = r2679895 <= r2679970;
double r2679972 = r2679971 ? r2679927 : r2679969;
double r2679973 = r2679957 ? r2679969 : r2679972;
double r2679974 = r2679931 ? r2679955 : r2679973;
double r2679975 = r2679929 ? r2679909 : r2679974;
double r2679976 = r2679911 ? r2679927 : r2679975;
double r2679977 = r2679897 ? r2679909 : r2679976;
return r2679977;
}
\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.0340743657029959 \cdot 10^{+72}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{\frac{2}{\sqrt{2}}}{x}}{2} - \frac{2}{\sqrt{2}}\right) \cdot \frac{t}{x} - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le -1.1247133289660739 \cdot 10^{-156}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\
\mathbf{elif}\;t \le -2.9187370589109163 \cdot 10^{-212}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{\frac{2}{\sqrt{2}}}{x}}{2} - \frac{2}{\sqrt{2}}\right) \cdot \frac{t}{x} - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 3.717493240869838 \cdot 10^{-166}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{\sqrt{\left(\left(4 - \frac{4}{x} \cdot \left(2 - \frac{4}{x}\right)\right) \cdot \left(\ell \cdot \ell\right)\right) \cdot 2 + \left(x \cdot \left(t \cdot t\right)\right) \cdot \left(\frac{\frac{64}{x \cdot x}}{x} + 8\right)}}{\sqrt{x \cdot \left(\frac{4}{x} \cdot \frac{4}{x} + \left(4 - 2 \cdot \frac{4}{x}\right)\right)}}}\\
\mathbf{elif}\;t \le 7.412112828305608 \cdot 10^{-143}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{2}{x}}{x} + \frac{2}{x}\right) \cdot \frac{t}{\sqrt{2}} + \left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right)}\\
\mathbf{elif}\;t \le 3.0842295975516618 \cdot 10^{+63}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 \cdot \ell\right) \cdot \frac{\ell}{x} + \left(t \cdot t\right) \cdot \left(2 + \frac{4}{x}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{2}{x}}{x} + \frac{2}{x}\right) \cdot \frac{t}{\sqrt{2}} + \left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right)}\\
\end{array}


Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.0340743657029959e+72 or -1.1247133289660739e-156 < t < -2.9187370589109163e-212Initial program 48.1
Taylor expanded around -inf 43.8
Simplified41.0
Taylor expanded around -inf 7.5
Simplified7.5
if -1.0340743657029959e+72 < t < -1.1247133289660739e-156 or 7.412112828305608e-143 < t < 3.0842295975516618e+63Initial program 26.4
Taylor expanded around -inf 9.6
Simplified5.1
rmApplied add-cube-cbrt5.1
Applied associate-*l*5.0
if -2.9187370589109163e-212 < t < 3.717493240869838e-166Initial program 61.4
Taylor expanded around -inf 33.6
Simplified32.0
rmApplied associate-*r/33.5
Applied flip3-+33.5
Applied associate-*r/33.5
Applied frac-add33.9
Applied sqrt-div28.9
Simplified28.9
if 3.717493240869838e-166 < t < 7.412112828305608e-143 or 3.0842295975516618e+63 < t Initial program 44.7
Taylor expanded around inf 4.9
Simplified4.9
Final simplification9.1
herbie shell --seed 2019101
(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)))))