\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 -8.1715607139623251 \cdot 10^{60}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le -3.3756870142407298 \cdot 10^{-181}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}\right)}}\\
\mathbf{elif}\;t \le -5.0733881302293798 \cdot 10^{-287}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}}\\
\mathbf{elif}\;t \le 6.76918902262626632 \cdot 10^{24}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\end{array}double f(double x, double l, double t) {
double r35316 = 2.0;
double r35317 = sqrt(r35316);
double r35318 = t;
double r35319 = r35317 * r35318;
double r35320 = x;
double r35321 = 1.0;
double r35322 = r35320 + r35321;
double r35323 = r35320 - r35321;
double r35324 = r35322 / r35323;
double r35325 = l;
double r35326 = r35325 * r35325;
double r35327 = r35318 * r35318;
double r35328 = r35316 * r35327;
double r35329 = r35326 + r35328;
double r35330 = r35324 * r35329;
double r35331 = r35330 - r35326;
double r35332 = sqrt(r35331);
double r35333 = r35319 / r35332;
return r35333;
}
double f(double x, double l, double t) {
double r35334 = t;
double r35335 = -8.171560713962325e+60;
bool r35336 = r35334 <= r35335;
double r35337 = 2.0;
double r35338 = sqrt(r35337);
double r35339 = r35338 * r35334;
double r35340 = 3.0;
double r35341 = pow(r35338, r35340);
double r35342 = x;
double r35343 = 2.0;
double r35344 = pow(r35342, r35343);
double r35345 = r35341 * r35344;
double r35346 = r35334 / r35345;
double r35347 = r35338 * r35344;
double r35348 = r35334 / r35347;
double r35349 = r35346 - r35348;
double r35350 = r35337 * r35349;
double r35351 = r35350 - r35339;
double r35352 = r35338 * r35342;
double r35353 = r35334 / r35352;
double r35354 = r35337 * r35353;
double r35355 = r35351 - r35354;
double r35356 = r35339 / r35355;
double r35357 = -3.37568701424073e-181;
bool r35358 = r35334 <= r35357;
double r35359 = 4.0;
double r35360 = pow(r35334, r35343);
double r35361 = r35360 / r35342;
double r35362 = r35359 * r35361;
double r35363 = l;
double r35364 = cbrt(r35342);
double r35365 = r35364 * r35364;
double r35366 = r35363 / r35365;
double r35367 = r35363 / r35364;
double r35368 = r35366 * r35367;
double r35369 = r35360 + r35368;
double r35370 = r35337 * r35369;
double r35371 = r35362 + r35370;
double r35372 = sqrt(r35371);
double r35373 = r35339 / r35372;
double r35374 = -5.07338813022938e-287;
bool r35375 = r35334 <= r35374;
double r35376 = 6.769189022626266e+24;
bool r35377 = r35334 <= r35376;
double r35378 = r35334 * r35338;
double r35379 = r35354 + r35378;
double r35380 = r35337 * r35346;
double r35381 = r35379 - r35380;
double r35382 = r35339 / r35381;
double r35383 = r35377 ? r35373 : r35382;
double r35384 = r35375 ? r35356 : r35383;
double r35385 = r35358 ? r35373 : r35384;
double r35386 = r35336 ? r35356 : r35385;
return r35386;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -8.171560713962325e+60 or -3.37568701424073e-181 < t < -5.07338813022938e-287Initial program 51.2
Taylor expanded around -inf 11.5
Simplified11.5
if -8.171560713962325e+60 < t < -3.37568701424073e-181 or -5.07338813022938e-287 < t < 6.769189022626266e+24Initial program 39.5
Taylor expanded around inf 16.3
Simplified16.3
rmApplied add-cube-cbrt16.4
Applied add-sqr-sqrt40.4
Applied unpow-prod-down40.4
Applied times-frac38.3
Simplified38.3
Simplified12.1
if 6.769189022626266e+24 < t Initial program 41.9
Taylor expanded around inf 39.8
Simplified39.8
Taylor expanded around inf 4.3
Final simplification9.8
herbie shell --seed 2020047
(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)))))