\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.653947709277397100618091830748612157853 \cdot 10^{151}:\\
\;\;\;\;\frac{\sqrt{2}}{\left(\left(-\sqrt{2}\right) \cdot t - \frac{\frac{2 \cdot t}{x}}{\sqrt{2}}\right) \cdot \frac{1}{t}}\\
\mathbf{elif}\;t \le 2.888100493419352308068723480891983028538 \cdot 10^{-285}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\sqrt{\left(\frac{\ell \cdot 2}{\frac{x}{\ell}} + t \cdot \left(2 \cdot t\right)\right) + \frac{t}{\frac{x}{t}} \cdot 4}}{t}}\\
\mathbf{elif}\;t \le 2.813385033315984081750629552156790319468 \cdot 10^{-161}:\\
\;\;\;\;\frac{\sqrt{2}}{\sqrt{2}}\\
\mathbf{elif}\;t \le 1913716763334430514281189625298944:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\sqrt{\left(\frac{\ell \cdot 2}{\frac{x}{\ell}} + t \cdot \left(2 \cdot t\right)\right) + \frac{t}{\frac{x}{t}} \cdot 4}}{t}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{\frac{2 \cdot t}{\sqrt{2} \cdot x} + \sqrt{2} \cdot t}{t}}\\
\end{array}double f(double x, double l, double t) {
double r46747 = 2.0;
double r46748 = sqrt(r46747);
double r46749 = t;
double r46750 = r46748 * r46749;
double r46751 = x;
double r46752 = 1.0;
double r46753 = r46751 + r46752;
double r46754 = r46751 - r46752;
double r46755 = r46753 / r46754;
double r46756 = l;
double r46757 = r46756 * r46756;
double r46758 = r46749 * r46749;
double r46759 = r46747 * r46758;
double r46760 = r46757 + r46759;
double r46761 = r46755 * r46760;
double r46762 = r46761 - r46757;
double r46763 = sqrt(r46762);
double r46764 = r46750 / r46763;
return r46764;
}
double f(double x, double l, double t) {
double r46765 = t;
double r46766 = -1.653947709277397e+151;
bool r46767 = r46765 <= r46766;
double r46768 = 2.0;
double r46769 = sqrt(r46768);
double r46770 = -r46769;
double r46771 = r46770 * r46765;
double r46772 = r46768 * r46765;
double r46773 = x;
double r46774 = r46772 / r46773;
double r46775 = r46774 / r46769;
double r46776 = r46771 - r46775;
double r46777 = 1.0;
double r46778 = r46777 / r46765;
double r46779 = r46776 * r46778;
double r46780 = r46769 / r46779;
double r46781 = 2.8881004934193523e-285;
bool r46782 = r46765 <= r46781;
double r46783 = l;
double r46784 = r46783 * r46768;
double r46785 = r46773 / r46783;
double r46786 = r46784 / r46785;
double r46787 = r46765 * r46772;
double r46788 = r46786 + r46787;
double r46789 = r46773 / r46765;
double r46790 = r46765 / r46789;
double r46791 = 4.0;
double r46792 = r46790 * r46791;
double r46793 = r46788 + r46792;
double r46794 = sqrt(r46793);
double r46795 = r46794 / r46765;
double r46796 = r46769 / r46795;
double r46797 = 2.813385033315984e-161;
bool r46798 = r46765 <= r46797;
double r46799 = r46769 / r46769;
double r46800 = 1.9137167633344305e+33;
bool r46801 = r46765 <= r46800;
double r46802 = r46769 * r46773;
double r46803 = r46772 / r46802;
double r46804 = r46769 * r46765;
double r46805 = r46803 + r46804;
double r46806 = r46805 / r46765;
double r46807 = r46769 / r46806;
double r46808 = r46801 ? r46796 : r46807;
double r46809 = r46798 ? r46799 : r46808;
double r46810 = r46782 ? r46796 : r46809;
double r46811 = r46767 ? r46780 : r46810;
return r46811;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.653947709277397e+151Initial program 61.9
Simplified61.9
Taylor expanded around inf 62.3
Simplified62.3
Taylor expanded around 0 62.3
Simplified61.8
rmApplied div-inv61.8
Taylor expanded around -inf 2.4
Simplified2.5
if -1.653947709277397e+151 < t < 2.8881004934193523e-285 or 2.813385033315984e-161 < t < 1.9137167633344305e+33Initial program 34.1
Simplified34.1
Taylor expanded around inf 15.0
Simplified15.0
Taylor expanded around 0 15.0
Simplified10.9
rmApplied div-inv11.0
rmApplied un-div-inv10.9
if 2.8881004934193523e-285 < t < 2.813385033315984e-161Initial program 62.9
Simplified62.9
Taylor expanded around inf 36.8
if 1.9137167633344305e+33 < t Initial program 44.0
Simplified44.0
Taylor expanded around inf 4.8
Simplified4.9
Final simplification10.1
herbie shell --seed 2019196
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))