\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.3201139960309332 \cdot 10^{+113}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le -6.214075501842943 \cdot 10^{-184}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{2}}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot t\right)\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(\frac{4}{x} + 2\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(2 \cdot \ell\right)}}\\
\mathbf{elif}\;t \le -4.539569288390012 \cdot 10^{-296}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 1.381746882455776 \cdot 10^{+75}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{2}}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot t\right)\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(\frac{4}{x} + 2\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(2 \cdot \ell\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right) + \frac{t}{\sqrt{2}} \cdot \left(\frac{\frac{2}{x}}{x} + \frac{2}{x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r2926778 = 2.0;
double r2926779 = sqrt(r2926778);
double r2926780 = t;
double r2926781 = r2926779 * r2926780;
double r2926782 = x;
double r2926783 = 1.0;
double r2926784 = r2926782 + r2926783;
double r2926785 = r2926782 - r2926783;
double r2926786 = r2926784 / r2926785;
double r2926787 = l;
double r2926788 = r2926787 * r2926787;
double r2926789 = r2926780 * r2926780;
double r2926790 = r2926778 * r2926789;
double r2926791 = r2926788 + r2926790;
double r2926792 = r2926786 * r2926791;
double r2926793 = r2926792 - r2926788;
double r2926794 = sqrt(r2926793);
double r2926795 = r2926781 / r2926794;
return r2926795;
}
double f(double x, double l, double t) {
double r2926796 = t;
double r2926797 = -1.3201139960309332e+113;
bool r2926798 = r2926796 <= r2926797;
double r2926799 = 2.0;
double r2926800 = sqrt(r2926799);
double r2926801 = r2926800 * r2926796;
double r2926802 = x;
double r2926803 = r2926802 * r2926802;
double r2926804 = r2926796 / r2926803;
double r2926805 = 1.0;
double r2926806 = r2926805 / r2926800;
double r2926807 = r2926804 * r2926806;
double r2926808 = r2926799 / r2926800;
double r2926809 = r2926796 / r2926802;
double r2926810 = r2926809 + r2926804;
double r2926811 = r2926808 * r2926810;
double r2926812 = r2926811 + r2926801;
double r2926813 = r2926807 - r2926812;
double r2926814 = r2926801 / r2926813;
double r2926815 = -6.214075501842943e-184;
bool r2926816 = r2926796 <= r2926815;
double r2926817 = cbrt(r2926800);
double r2926818 = cbrt(r2926817);
double r2926819 = r2926818 * r2926818;
double r2926820 = r2926818 * r2926796;
double r2926821 = r2926819 * r2926820;
double r2926822 = r2926817 * r2926817;
double r2926823 = r2926821 * r2926822;
double r2926824 = 4.0;
double r2926825 = r2926824 / r2926802;
double r2926826 = r2926825 + r2926799;
double r2926827 = r2926796 * r2926796;
double r2926828 = r2926826 * r2926827;
double r2926829 = l;
double r2926830 = r2926829 / r2926802;
double r2926831 = r2926799 * r2926829;
double r2926832 = r2926830 * r2926831;
double r2926833 = r2926828 + r2926832;
double r2926834 = sqrt(r2926833);
double r2926835 = r2926823 / r2926834;
double r2926836 = -4.539569288390012e-296;
bool r2926837 = r2926796 <= r2926836;
double r2926838 = 1.381746882455776e+75;
bool r2926839 = r2926796 <= r2926838;
double r2926840 = r2926801 - r2926807;
double r2926841 = r2926796 / r2926800;
double r2926842 = r2926799 / r2926802;
double r2926843 = r2926842 / r2926802;
double r2926844 = r2926843 + r2926842;
double r2926845 = r2926841 * r2926844;
double r2926846 = r2926840 + r2926845;
double r2926847 = r2926801 / r2926846;
double r2926848 = r2926839 ? r2926835 : r2926847;
double r2926849 = r2926837 ? r2926814 : r2926848;
double r2926850 = r2926816 ? r2926835 : r2926849;
double r2926851 = r2926798 ? r2926814 : r2926850;
return r2926851;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.3201139960309332e+113 or -6.214075501842943e-184 < t < -4.539569288390012e-296Initial program 54.8
Taylor expanded around -inf 12.0
Simplified12.0
if -1.3201139960309332e+113 < t < -6.214075501842943e-184 or -4.539569288390012e-296 < t < 1.381746882455776e+75Initial program 34.6
Taylor expanded around -inf 15.0
Simplified10.6
rmApplied add-cube-cbrt10.6
Applied associate-*l*10.6
rmApplied add-cube-cbrt10.6
Applied associate-*l*10.6
if 1.381746882455776e+75 < t Initial program 46.6
Taylor expanded around inf 3.1
Simplified3.1
Final simplification9.3
herbie shell --seed 2019119
(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)))))