\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.08866278392021945 \cdot 10^{94}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 3.92596229546232498 \cdot 10^{-260}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \ell \cdot \frac{\ell}{x}\right)}}\\
\mathbf{elif}\;t \le 6.13027204388918591 \cdot 10^{-184}:\\
\;\;\;\;\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)}\\
\mathbf{elif}\;t \le 1.4317046531863695 \cdot 10^{69}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \ell \cdot \frac{\ell}{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 r35422 = 2.0;
double r35423 = sqrt(r35422);
double r35424 = t;
double r35425 = r35423 * r35424;
double r35426 = x;
double r35427 = 1.0;
double r35428 = r35426 + r35427;
double r35429 = r35426 - r35427;
double r35430 = r35428 / r35429;
double r35431 = l;
double r35432 = r35431 * r35431;
double r35433 = r35424 * r35424;
double r35434 = r35422 * r35433;
double r35435 = r35432 + r35434;
double r35436 = r35430 * r35435;
double r35437 = r35436 - r35432;
double r35438 = sqrt(r35437);
double r35439 = r35425 / r35438;
return r35439;
}
double f(double x, double l, double t) {
double r35440 = t;
double r35441 = -8.08866278392022e+94;
bool r35442 = r35440 <= r35441;
double r35443 = 2.0;
double r35444 = sqrt(r35443);
double r35445 = r35444 * r35440;
double r35446 = 3.0;
double r35447 = pow(r35444, r35446);
double r35448 = x;
double r35449 = 2.0;
double r35450 = pow(r35448, r35449);
double r35451 = r35447 * r35450;
double r35452 = r35440 / r35451;
double r35453 = r35444 * r35448;
double r35454 = r35440 / r35453;
double r35455 = r35452 - r35454;
double r35456 = r35443 * r35455;
double r35457 = r35456 - r35445;
double r35458 = r35445 / r35457;
double r35459 = 3.925962295462325e-260;
bool r35460 = r35440 <= r35459;
double r35461 = 4.0;
double r35462 = pow(r35440, r35449);
double r35463 = r35462 / r35448;
double r35464 = r35461 * r35463;
double r35465 = l;
double r35466 = r35465 / r35448;
double r35467 = r35465 * r35466;
double r35468 = r35462 + r35467;
double r35469 = r35443 * r35468;
double r35470 = r35464 + r35469;
double r35471 = sqrt(r35470);
double r35472 = r35445 / r35471;
double r35473 = 6.130272043889186e-184;
bool r35474 = r35440 <= r35473;
double r35475 = r35444 * r35450;
double r35476 = r35440 / r35475;
double r35477 = r35476 + r35454;
double r35478 = r35443 * r35477;
double r35479 = r35443 * r35452;
double r35480 = r35445 - r35479;
double r35481 = r35478 + r35480;
double r35482 = r35445 / r35481;
double r35483 = 1.4317046531863695e+69;
bool r35484 = r35440 <= r35483;
double r35485 = r35484 ? r35472 : r35482;
double r35486 = r35474 ? r35482 : r35485;
double r35487 = r35460 ? r35472 : r35486;
double r35488 = r35442 ? r35458 : r35487;
return r35488;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -8.08866278392022e+94Initial program 50.3
Taylor expanded around inf 50.1
Simplified50.1
rmApplied *-un-lft-identity50.1
Applied add-sqr-sqrt56.9
Applied unpow-prod-down56.9
Applied times-frac56.2
Simplified56.2
Simplified48.2
Taylor expanded around -inf 3.4
Simplified3.4
if -8.08866278392022e+94 < t < 3.925962295462325e-260 or 6.130272043889186e-184 < t < 1.4317046531863695e+69Initial program 37.0
Taylor expanded around inf 16.6
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied add-sqr-sqrt40.3
Applied unpow-prod-down40.3
Applied times-frac38.1
Simplified38.1
Simplified12.5
if 3.925962295462325e-260 < t < 6.130272043889186e-184 or 1.4317046531863695e+69 < t Initial program 49.0
Taylor expanded around inf 8.7
Simplified8.7
Final simplification9.6
herbie shell --seed 2020056
(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)))))