\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.4975178711860614 \cdot 10^{+116}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}} - \left(\frac{2}{\sqrt{2}} \cdot \left(\frac{t}{x} + \frac{t}{x \cdot x}\right) + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 1.3708037446331232 \cdot 10^{+85}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot \sqrt[3]{\sqrt[3]{\sqrt{2}}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sqrt{2}}} \cdot t\right)}{\sqrt{\left(\frac{4}{x} + 2\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(2 \cdot \ell\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t - \frac{t}{x \cdot x} \cdot \frac{1}{\sqrt{2}}\right) + \left(\frac{\frac{2}{x}}{x} + \frac{2}{x}\right) \cdot \frac{t}{\sqrt{2}}}\\
\end{array}double f(double x, double l, double t) {
double r2922529 = 2.0;
double r2922530 = sqrt(r2922529);
double r2922531 = t;
double r2922532 = r2922530 * r2922531;
double r2922533 = x;
double r2922534 = 1.0;
double r2922535 = r2922533 + r2922534;
double r2922536 = r2922533 - r2922534;
double r2922537 = r2922535 / r2922536;
double r2922538 = l;
double r2922539 = r2922538 * r2922538;
double r2922540 = r2922531 * r2922531;
double r2922541 = r2922529 * r2922540;
double r2922542 = r2922539 + r2922541;
double r2922543 = r2922537 * r2922542;
double r2922544 = r2922543 - r2922539;
double r2922545 = sqrt(r2922544);
double r2922546 = r2922532 / r2922545;
return r2922546;
}
double f(double x, double l, double t) {
double r2922547 = t;
double r2922548 = -4.4975178711860614e+116;
bool r2922549 = r2922547 <= r2922548;
double r2922550 = 2.0;
double r2922551 = sqrt(r2922550);
double r2922552 = r2922551 * r2922547;
double r2922553 = x;
double r2922554 = r2922553 * r2922553;
double r2922555 = r2922547 / r2922554;
double r2922556 = 1.0;
double r2922557 = r2922556 / r2922551;
double r2922558 = r2922555 * r2922557;
double r2922559 = r2922550 / r2922551;
double r2922560 = r2922547 / r2922553;
double r2922561 = r2922560 + r2922555;
double r2922562 = r2922559 * r2922561;
double r2922563 = r2922562 + r2922552;
double r2922564 = r2922558 - r2922563;
double r2922565 = r2922552 / r2922564;
double r2922566 = 1.3708037446331232e+85;
bool r2922567 = r2922547 <= r2922566;
double r2922568 = cbrt(r2922551);
double r2922569 = cbrt(r2922568);
double r2922570 = r2922569 * r2922569;
double r2922571 = r2922568 * r2922568;
double r2922572 = r2922570 * r2922571;
double r2922573 = r2922569 * r2922547;
double r2922574 = r2922572 * r2922573;
double r2922575 = 4.0;
double r2922576 = r2922575 / r2922553;
double r2922577 = r2922576 + r2922550;
double r2922578 = r2922547 * r2922547;
double r2922579 = r2922577 * r2922578;
double r2922580 = l;
double r2922581 = r2922580 / r2922553;
double r2922582 = r2922550 * r2922580;
double r2922583 = r2922581 * r2922582;
double r2922584 = r2922579 + r2922583;
double r2922585 = sqrt(r2922584);
double r2922586 = r2922574 / r2922585;
double r2922587 = r2922552 - r2922558;
double r2922588 = r2922550 / r2922553;
double r2922589 = r2922588 / r2922553;
double r2922590 = r2922589 + r2922588;
double r2922591 = r2922547 / r2922551;
double r2922592 = r2922590 * r2922591;
double r2922593 = r2922587 + r2922592;
double r2922594 = r2922552 / r2922593;
double r2922595 = r2922567 ? r2922586 : r2922594;
double r2922596 = r2922549 ? r2922565 : r2922595;
return r2922596;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -4.4975178711860614e+116Initial program 53.6
Taylor expanded around -inf 2.9
Simplified2.9
if -4.4975178711860614e+116 < t < 1.3708037446331232e+85Initial program 38.0
Taylor expanded around -inf 17.9
Simplified13.0
rmApplied add-cube-cbrt13.0
Applied associate-*l*13.0
rmApplied add-cube-cbrt13.0
Applied associate-*l*13.0
rmApplied associate-*r*13.0
if 1.3708037446331232e+85 < t Initial program 48.2
Taylor expanded around inf 3.5
Simplified3.5
Final simplification9.0
herbie shell --seed 2019120
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))