\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{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}} \cdot \sqrt{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{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{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}} \cdot \sqrt{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{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 r45273 = 2.0;
double r45274 = sqrt(r45273);
double r45275 = t;
double r45276 = r45274 * r45275;
double r45277 = x;
double r45278 = 1.0;
double r45279 = r45277 + r45278;
double r45280 = r45277 - r45278;
double r45281 = r45279 / r45280;
double r45282 = l;
double r45283 = r45282 * r45282;
double r45284 = r45275 * r45275;
double r45285 = r45273 * r45284;
double r45286 = r45283 + r45285;
double r45287 = r45281 * r45286;
double r45288 = r45287 - r45283;
double r45289 = sqrt(r45288);
double r45290 = r45276 / r45289;
return r45290;
}
double f(double x, double l, double t) {
double r45291 = t;
double r45292 = -8.54333635658851e+24;
bool r45293 = r45291 <= r45292;
double r45294 = 2.0;
double r45295 = sqrt(r45294);
double r45296 = r45295 * r45291;
double r45297 = x;
double r45298 = 2.0;
double r45299 = pow(r45297, r45298);
double r45300 = r45291 / r45299;
double r45301 = r45295 * r45294;
double r45302 = r45294 / r45301;
double r45303 = r45294 / r45295;
double r45304 = r45302 - r45303;
double r45305 = r45300 * r45304;
double r45306 = r45305 - r45296;
double r45307 = r45295 * r45297;
double r45308 = r45291 / r45307;
double r45309 = r45294 * r45308;
double r45310 = r45306 - r45309;
double r45311 = r45296 / r45310;
double r45312 = -8.549619549454068e-265;
bool r45313 = r45291 <= r45312;
double r45314 = 4.0;
double r45315 = pow(r45291, r45298);
double r45316 = r45315 / r45297;
double r45317 = r45314 * r45316;
double r45318 = r45291 * r45291;
double r45319 = l;
double r45320 = r45319 / r45297;
double r45321 = r45319 * r45320;
double r45322 = r45318 + r45321;
double r45323 = r45294 * r45322;
double r45324 = r45317 + r45323;
double r45325 = sqrt(r45324);
double r45326 = sqrt(r45325);
double r45327 = r45326 * r45326;
double r45328 = r45296 / r45327;
double r45329 = -1.4020051272573528e-302;
bool r45330 = r45291 <= r45329;
double r45331 = 6.335165898555757e+148;
bool r45332 = r45291 <= r45331;
double r45333 = r45291 * r45295;
double r45334 = r45309 + r45333;
double r45335 = r45334 - r45305;
double r45336 = r45296 / r45335;
double r45337 = r45332 ? r45328 : r45336;
double r45338 = r45330 ? r45311 : r45337;
double r45339 = r45313 ? r45328 : r45338;
double r45340 = r45293 ? r45311 : r45339;
return r45340;
}



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-sqrt40.3
Applied unpow-prod-down40.3
Applied times-frac38.3
Simplified38.3
Simplified13.0
rmApplied add-sqr-sqrt13.0
Applied sqrt-prod13.1
if 6.335165898555757e+148 < t Initial program 60.7
Taylor expanded around inf 1.6
Simplified1.6
Final simplification9.7
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)))))