\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 -8543336356588510030856192:\\
\;\;\;\;\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 -8.549619549454067904050788555376770008695 \cdot 10^{-265}:\\
\;\;\;\;\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{elif}\;t \le -1.402005127257352814267210643002199774407 \cdot 10^{-302}:\\
\;\;\;\;\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 6.335165898555757118212433419014376963533 \cdot 10^{148}:\\
\;\;\;\;\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 r45204 = 2.0;
double r45205 = sqrt(r45204);
double r45206 = t;
double r45207 = r45205 * r45206;
double r45208 = x;
double r45209 = 1.0;
double r45210 = r45208 + r45209;
double r45211 = r45208 - r45209;
double r45212 = r45210 / r45211;
double r45213 = l;
double r45214 = r45213 * r45213;
double r45215 = r45206 * r45206;
double r45216 = r45204 * r45215;
double r45217 = r45214 + r45216;
double r45218 = r45212 * r45217;
double r45219 = r45218 - r45214;
double r45220 = sqrt(r45219);
double r45221 = r45207 / r45220;
return r45221;
}
double f(double x, double l, double t) {
double r45222 = t;
double r45223 = -8.54333635658851e+24;
bool r45224 = r45222 <= r45223;
double r45225 = 2.0;
double r45226 = sqrt(r45225);
double r45227 = r45226 * r45222;
double r45228 = x;
double r45229 = 2.0;
double r45230 = pow(r45228, r45229);
double r45231 = r45222 / r45230;
double r45232 = r45226 * r45225;
double r45233 = r45225 / r45232;
double r45234 = r45225 / r45226;
double r45235 = r45233 - r45234;
double r45236 = r45231 * r45235;
double r45237 = r45236 - r45227;
double r45238 = r45226 * r45228;
double r45239 = r45222 / r45238;
double r45240 = r45225 * r45239;
double r45241 = r45237 - r45240;
double r45242 = r45227 / r45241;
double r45243 = -8.549619549454068e-265;
bool r45244 = r45222 <= r45243;
double r45245 = 4.0;
double r45246 = pow(r45222, r45229);
double r45247 = r45246 / r45228;
double r45248 = r45245 * r45247;
double r45249 = r45222 * r45222;
double r45250 = l;
double r45251 = fabs(r45250);
double r45252 = r45251 / r45228;
double r45253 = r45251 * r45252;
double r45254 = r45249 + r45253;
double r45255 = r45225 * r45254;
double r45256 = r45248 + r45255;
double r45257 = sqrt(r45256);
double r45258 = r45227 / r45257;
double r45259 = -1.4020051272573528e-302;
bool r45260 = r45222 <= r45259;
double r45261 = 6.335165898555757e+148;
bool r45262 = r45222 <= r45261;
double r45263 = r45222 * r45226;
double r45264 = r45240 + r45263;
double r45265 = r45264 - r45236;
double r45266 = r45227 / r45265;
double r45267 = r45262 ? r45258 : r45266;
double r45268 = r45260 ? r45242 : r45267;
double r45269 = r45244 ? r45258 : r45268;
double r45270 = r45224 ? r45242 : r45269;
return r45270;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -8.54333635658851e+24 or -8.549619549454068e-265 < t < -1.4020051272573528e-302Initial program 44.9
Taylor expanded around -inf 7.6
Simplified7.6
if -8.54333635658851e+24 < t < -8.549619549454068e-265 or -1.4020051272573528e-302 < t < 6.335165898555757e+148Initial program 36.9
Taylor expanded around inf 17.1
Simplified17.1
rmApplied *-un-lft-identity17.1
Applied add-sqr-sqrt17.1
Applied times-frac17.1
Simplified17.1
Simplified13.0
if 6.335165898555757e+148 < t Initial program 60.7
Taylor expanded around inf 1.6
Simplified1.6
Final simplification9.6
herbie shell --seed 2019323
(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)))))