\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 -4.4286514747281399 \cdot 10^{57}:\\
\;\;\;\;\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 2.4484743450104771 \cdot 10^{-241}:\\
\;\;\;\;\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}{2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \left(\sqrt{2} \cdot t - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}\right)}\\
\end{array}double f(double x, double l, double t) {
double r37342 = 2.0;
double r37343 = sqrt(r37342);
double r37344 = t;
double r37345 = r37343 * r37344;
double r37346 = x;
double r37347 = 1.0;
double r37348 = r37346 + r37347;
double r37349 = r37346 - r37347;
double r37350 = r37348 / r37349;
double r37351 = l;
double r37352 = r37351 * r37351;
double r37353 = r37344 * r37344;
double r37354 = r37342 * r37353;
double r37355 = r37352 + r37354;
double r37356 = r37350 * r37355;
double r37357 = r37356 - r37352;
double r37358 = sqrt(r37357);
double r37359 = r37345 / r37358;
return r37359;
}
double f(double x, double l, double t) {
double r37360 = t;
double r37361 = -4.42865147472814e+57;
bool r37362 = r37360 <= r37361;
double r37363 = 2.0;
double r37364 = sqrt(r37363);
double r37365 = r37364 * r37360;
double r37366 = 3.0;
double r37367 = pow(r37364, r37366);
double r37368 = x;
double r37369 = 2.0;
double r37370 = pow(r37368, r37369);
double r37371 = r37367 * r37370;
double r37372 = r37360 / r37371;
double r37373 = r37364 * r37370;
double r37374 = r37360 / r37373;
double r37375 = r37372 - r37374;
double r37376 = r37363 * r37375;
double r37377 = r37376 - r37365;
double r37378 = r37364 * r37368;
double r37379 = r37360 / r37378;
double r37380 = r37363 * r37379;
double r37381 = r37377 - r37380;
double r37382 = r37365 / r37381;
double r37383 = 2.448474345010477e-241;
bool r37384 = r37360 <= r37383;
double r37385 = 4.0;
double r37386 = pow(r37360, r37369);
double r37387 = r37386 / r37368;
double r37388 = r37385 * r37387;
double r37389 = l;
double r37390 = cbrt(r37368);
double r37391 = r37390 * r37390;
double r37392 = r37389 / r37391;
double r37393 = r37389 / r37390;
double r37394 = r37392 * r37393;
double r37395 = r37386 + r37394;
double r37396 = r37363 * r37395;
double r37397 = r37388 + r37396;
double r37398 = sqrt(r37397);
double r37399 = r37365 / r37398;
double r37400 = r37374 + r37379;
double r37401 = r37363 * r37400;
double r37402 = r37363 * r37372;
double r37403 = r37365 - r37402;
double r37404 = r37401 + r37403;
double r37405 = r37365 / r37404;
double r37406 = r37384 ? r37399 : r37405;
double r37407 = r37362 ? r37382 : r37406;
return r37407;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -4.42865147472814e+57Initial program 45.5
Taylor expanded around -inf 3.7
Simplified3.7
if -4.42865147472814e+57 < t < 2.448474345010477e-241Initial program 43.8
Taylor expanded around inf 20.4
Simplified20.4
rmApplied add-cube-cbrt20.5
Applied add-sqr-sqrt42.7
Applied unpow-prod-down42.7
Applied times-frac41.1
Simplified41.0
Simplified17.0
if 2.448474345010477e-241 < t Initial program 40.4
Taylor expanded around inf 11.9
Simplified11.9
Final simplification11.4
herbie shell --seed 2020033
(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)))))