\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 r44110 = 2.0;
double r44111 = sqrt(r44110);
double r44112 = t;
double r44113 = r44111 * r44112;
double r44114 = x;
double r44115 = 1.0;
double r44116 = r44114 + r44115;
double r44117 = r44114 - r44115;
double r44118 = r44116 / r44117;
double r44119 = l;
double r44120 = r44119 * r44119;
double r44121 = r44112 * r44112;
double r44122 = r44110 * r44121;
double r44123 = r44120 + r44122;
double r44124 = r44118 * r44123;
double r44125 = r44124 - r44120;
double r44126 = sqrt(r44125);
double r44127 = r44113 / r44126;
return r44127;
}
double f(double x, double l, double t) {
double r44128 = t;
double r44129 = -2.8442338941596414e+80;
bool r44130 = r44128 <= r44129;
double r44131 = 2.0;
double r44132 = sqrt(r44131);
double r44133 = r44132 * r44128;
double r44134 = x;
double r44135 = 2.0;
double r44136 = pow(r44134, r44135);
double r44137 = r44128 / r44136;
double r44138 = r44132 * r44131;
double r44139 = r44131 / r44138;
double r44140 = r44131 / r44132;
double r44141 = r44139 - r44140;
double r44142 = r44137 * r44141;
double r44143 = r44142 - r44133;
double r44144 = r44132 * r44134;
double r44145 = r44128 / r44144;
double r44146 = r44131 * r44145;
double r44147 = r44143 - r44146;
double r44148 = r44133 / r44147;
double r44149 = 1.6421833813677545e+146;
bool r44150 = r44128 <= r44149;
double r44151 = 4.0;
double r44152 = pow(r44128, r44135);
double r44153 = r44152 / r44134;
double r44154 = r44151 * r44153;
double r44155 = r44128 * r44128;
double r44156 = l;
double r44157 = fabs(r44156);
double r44158 = r44157 / r44134;
double r44159 = r44157 * r44158;
double r44160 = r44155 + r44159;
double r44161 = r44131 * r44160;
double r44162 = r44154 + r44161;
double r44163 = sqrt(r44162);
double r44164 = r44133 / r44163;
double r44165 = r44128 * r44132;
double r44166 = r44146 + r44165;
double r44167 = r44166 - r44142;
double r44168 = r44133 / r44167;
double r44169 = r44150 ? r44164 : r44168;
double r44170 = r44130 ? r44148 : r44169;
return r44170;
}



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)))))