\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.844233894159641388530429799149212129938 \cdot 10^{80}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 1.642183381367754509410412778162598210708 \cdot 10^{146}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right) - \frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2} \cdot 2} - \frac{2}{\sqrt{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r44101 = 2.0;
double r44102 = sqrt(r44101);
double r44103 = t;
double r44104 = r44102 * r44103;
double r44105 = x;
double r44106 = 1.0;
double r44107 = r44105 + r44106;
double r44108 = r44105 - r44106;
double r44109 = r44107 / r44108;
double r44110 = l;
double r44111 = r44110 * r44110;
double r44112 = r44103 * r44103;
double r44113 = r44101 * r44112;
double r44114 = r44111 + r44113;
double r44115 = r44109 * r44114;
double r44116 = r44115 - r44111;
double r44117 = sqrt(r44116);
double r44118 = r44104 / r44117;
return r44118;
}
double f(double x, double l, double t) {
double r44119 = t;
double r44120 = -2.8442338941596414e+80;
bool r44121 = r44119 <= r44120;
double r44122 = 2.0;
double r44123 = sqrt(r44122);
double r44124 = r44123 * r44119;
double r44125 = x;
double r44126 = 2.0;
double r44127 = pow(r44125, r44126);
double r44128 = r44119 / r44127;
double r44129 = r44123 * r44122;
double r44130 = r44122 / r44129;
double r44131 = r44122 / r44123;
double r44132 = r44130 - r44131;
double r44133 = r44128 * r44132;
double r44134 = r44133 - r44124;
double r44135 = r44123 * r44125;
double r44136 = r44119 / r44135;
double r44137 = r44122 * r44136;
double r44138 = r44134 - r44137;
double r44139 = r44124 / r44138;
double r44140 = 1.6421833813677545e+146;
bool r44141 = r44119 <= r44140;
double r44142 = 4.0;
double r44143 = pow(r44119, r44126);
double r44144 = r44143 / r44125;
double r44145 = r44142 * r44144;
double r44146 = r44119 * r44119;
double r44147 = l;
double r44148 = fabs(r44147);
double r44149 = r44148 / r44125;
double r44150 = r44148 * r44149;
double r44151 = r44146 + r44150;
double r44152 = r44122 * r44151;
double r44153 = r44145 + r44152;
double r44154 = sqrt(r44153);
double r44155 = r44124 / r44154;
double r44156 = r44119 * r44123;
double r44157 = r44137 + r44156;
double r44158 = r44157 - r44133;
double r44159 = r44124 / r44158;
double r44160 = r44141 ? r44155 : r44159;
double r44161 = r44121 ? r44139 : r44160;
return r44161;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.8442338941596414e+80Initial program 48.0
Taylor expanded around -inf 3.5
Simplified3.5
if -2.8442338941596414e+80 < t < 1.6421833813677545e+146Initial program 37.2
Taylor expanded around inf 17.7
Simplified17.7
rmApplied *-un-lft-identity17.7
Applied add-sqr-sqrt17.7
Applied times-frac17.7
Simplified17.7
Simplified13.5
if 1.6421833813677545e+146 < t Initial program 60.4
Taylor expanded around inf 2.1
Simplified2.1
Final simplification9.5
herbie shell --seed 2019303
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
:precision binary64
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))