\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 r45264 = 2.0;
double r45265 = sqrt(r45264);
double r45266 = t;
double r45267 = r45265 * r45266;
double r45268 = x;
double r45269 = 1.0;
double r45270 = r45268 + r45269;
double r45271 = r45268 - r45269;
double r45272 = r45270 / r45271;
double r45273 = l;
double r45274 = r45273 * r45273;
double r45275 = r45266 * r45266;
double r45276 = r45264 * r45275;
double r45277 = r45274 + r45276;
double r45278 = r45272 * r45277;
double r45279 = r45278 - r45274;
double r45280 = sqrt(r45279);
double r45281 = r45267 / r45280;
return r45281;
}
double f(double x, double l, double t) {
double r45282 = t;
double r45283 = -8.54333635658851e+24;
bool r45284 = r45282 <= r45283;
double r45285 = 2.0;
double r45286 = sqrt(r45285);
double r45287 = r45286 * r45282;
double r45288 = x;
double r45289 = 2.0;
double r45290 = pow(r45288, r45289);
double r45291 = r45282 / r45290;
double r45292 = r45286 * r45285;
double r45293 = r45285 / r45292;
double r45294 = r45285 / r45286;
double r45295 = r45293 - r45294;
double r45296 = r45291 * r45295;
double r45297 = r45296 - r45287;
double r45298 = r45286 * r45288;
double r45299 = r45282 / r45298;
double r45300 = r45285 * r45299;
double r45301 = r45297 - r45300;
double r45302 = r45287 / r45301;
double r45303 = -8.549619549454068e-265;
bool r45304 = r45282 <= r45303;
double r45305 = 4.0;
double r45306 = pow(r45282, r45289);
double r45307 = r45306 / r45288;
double r45308 = r45305 * r45307;
double r45309 = r45282 * r45282;
double r45310 = l;
double r45311 = r45310 / r45288;
double r45312 = r45310 * r45311;
double r45313 = r45309 + r45312;
double r45314 = r45285 * r45313;
double r45315 = r45308 + r45314;
double r45316 = sqrt(r45315);
double r45317 = sqrt(r45316);
double r45318 = r45317 * r45317;
double r45319 = r45287 / r45318;
double r45320 = -1.4020051272573528e-302;
bool r45321 = r45282 <= r45320;
double r45322 = 6.335165898555757e+148;
bool r45323 = r45282 <= r45322;
double r45324 = r45282 * r45286;
double r45325 = r45300 + r45324;
double r45326 = r45325 - r45296;
double r45327 = r45287 / r45326;
double r45328 = r45323 ? r45319 : r45327;
double r45329 = r45321 ? r45302 : r45328;
double r45330 = r45304 ? r45319 : r45329;
double r45331 = r45284 ? r45302 : r45330;
return r45331;
}



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