\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 -1.940005881918408859869096974602770049363 \cdot 10^{94}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2 \cdot t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} - \left(\sqrt{2} \cdot t + \frac{2 \cdot t}{\sqrt{2} \cdot x}\right)\right) - \frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x}}\\
\mathbf{elif}\;t \le 1.839658841198905283015739574372348749582 \cdot 10^{-241}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\sqrt{\sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}} \cdot \sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}} \cdot \sqrt{\sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}} \cdot \sqrt{\sqrt{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}}\\
\mathbf{elif}\;t \le 3.247980644380315344262592988201111260205 \cdot 10^{-157}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{-2 \cdot t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} + \left(\frac{2 \cdot t}{\sqrt{2} \cdot x} + \left(\frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x} + \sqrt{2} \cdot t\right)\right)}\\
\mathbf{elif}\;t \le 4.214549585149478093549971775733778272653 \cdot 10^{55}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\sqrt{\sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}} \cdot \sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}} \cdot \sqrt{\sqrt[3]{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}} \cdot \sqrt{\sqrt{2 \cdot \left(\frac{\ell}{\frac{x}{\ell}} + t \cdot t\right) + \frac{4}{\frac{x}{t \cdot t}}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{-2 \cdot t}{\left(x \cdot x\right) \cdot \left(2 \cdot \sqrt{2}\right)} + \left(\frac{2 \cdot t}{\sqrt{2} \cdot x} + \left(\frac{\frac{2 \cdot t}{\sqrt{2}}}{x \cdot x} + \sqrt{2} \cdot t\right)\right)}\\
\end{array}double f(double x, double l, double t) {
double r1517494 = 2.0;
double r1517495 = sqrt(r1517494);
double r1517496 = t;
double r1517497 = r1517495 * r1517496;
double r1517498 = x;
double r1517499 = 1.0;
double r1517500 = r1517498 + r1517499;
double r1517501 = r1517498 - r1517499;
double r1517502 = r1517500 / r1517501;
double r1517503 = l;
double r1517504 = r1517503 * r1517503;
double r1517505 = r1517496 * r1517496;
double r1517506 = r1517494 * r1517505;
double r1517507 = r1517504 + r1517506;
double r1517508 = r1517502 * r1517507;
double r1517509 = r1517508 - r1517504;
double r1517510 = sqrt(r1517509);
double r1517511 = r1517497 / r1517510;
return r1517511;
}
double f(double x, double l, double t) {
double r1517512 = t;
double r1517513 = -1.940005881918409e+94;
bool r1517514 = r1517512 <= r1517513;
double r1517515 = 2.0;
double r1517516 = sqrt(r1517515);
double r1517517 = r1517516 * r1517512;
double r1517518 = r1517515 * r1517512;
double r1517519 = x;
double r1517520 = r1517519 * r1517519;
double r1517521 = r1517515 * r1517516;
double r1517522 = r1517520 * r1517521;
double r1517523 = r1517518 / r1517522;
double r1517524 = r1517516 * r1517519;
double r1517525 = r1517518 / r1517524;
double r1517526 = r1517517 + r1517525;
double r1517527 = r1517523 - r1517526;
double r1517528 = r1517518 / r1517516;
double r1517529 = r1517528 / r1517520;
double r1517530 = r1517527 - r1517529;
double r1517531 = r1517517 / r1517530;
double r1517532 = 1.8396588411989053e-241;
bool r1517533 = r1517512 <= r1517532;
double r1517534 = l;
double r1517535 = r1517519 / r1517534;
double r1517536 = r1517534 / r1517535;
double r1517537 = r1517512 * r1517512;
double r1517538 = r1517536 + r1517537;
double r1517539 = r1517515 * r1517538;
double r1517540 = 4.0;
double r1517541 = r1517519 / r1517537;
double r1517542 = r1517540 / r1517541;
double r1517543 = r1517539 + r1517542;
double r1517544 = cbrt(r1517543);
double r1517545 = r1517544 * r1517544;
double r1517546 = sqrt(r1517545);
double r1517547 = sqrt(r1517544);
double r1517548 = r1517546 * r1517547;
double r1517549 = sqrt(r1517548);
double r1517550 = sqrt(r1517543);
double r1517551 = sqrt(r1517550);
double r1517552 = r1517549 * r1517551;
double r1517553 = r1517517 / r1517552;
double r1517554 = 3.2479806443803153e-157;
bool r1517555 = r1517512 <= r1517554;
double r1517556 = -r1517518;
double r1517557 = r1517556 / r1517522;
double r1517558 = r1517529 + r1517517;
double r1517559 = r1517525 + r1517558;
double r1517560 = r1517557 + r1517559;
double r1517561 = r1517517 / r1517560;
double r1517562 = 4.214549585149478e+55;
bool r1517563 = r1517512 <= r1517562;
double r1517564 = r1517563 ? r1517553 : r1517561;
double r1517565 = r1517555 ? r1517561 : r1517564;
double r1517566 = r1517533 ? r1517553 : r1517565;
double r1517567 = r1517514 ? r1517531 : r1517566;
return r1517567;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.940005881918409e+94Initial program 49.9
Taylor expanded around -inf 3.3
Simplified3.4
if -1.940005881918409e+94 < t < 1.8396588411989053e-241 or 3.2479806443803153e-157 < t < 4.214549585149478e+55Initial program 37.0
Taylor expanded around inf 15.8
Simplified15.8
rmApplied associate-/l*12.2
rmApplied add-sqr-sqrt12.2
Applied sqrt-prod12.3
rmApplied add-cube-cbrt12.4
Applied sqrt-prod12.4
if 1.8396588411989053e-241 < t < 3.2479806443803153e-157 or 4.214549585149478e+55 < t Initial program 48.9
Taylor expanded around inf 8.8
Simplified8.8
Final simplification9.5
herbie shell --seed 2019174
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))