\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.9501808158464715 \cdot 10^{+103}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{1}{\sqrt{2}} - \frac{2}{\sqrt{2}}\right) \cdot \frac{t}{x \cdot x} - \left(\frac{2}{x \cdot \sqrt{2}} \cdot t + \sqrt{2} \cdot t\right)}\\
\mathbf{elif}\;t \le 3.622605389449186 \cdot 10^{-213}:\\
\;\;\;\;\frac{\left(t \cdot \sqrt{\sqrt{2}}\right) \cdot \sqrt{\sqrt{2}}}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell}{x} \cdot \ell\right) + \frac{t}{\frac{x}{t}} \cdot 4}}\\
\mathbf{elif}\;t \le 5.72877141657189 \cdot 10^{-164}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \sqrt{2}} \cdot t + \sqrt{2} \cdot t\right) - \left(\frac{1}{\sqrt{2}} - \frac{2}{\sqrt{2}}\right) \cdot \frac{t}{x \cdot x}}\\
\mathbf{elif}\;t \le 3.7543841451851774 \cdot 10^{+122}:\\
\;\;\;\;\frac{\left(t \cdot \sqrt{\sqrt{2}}\right) \cdot \sqrt{\sqrt{2}}}{\sqrt{2 \cdot \left(t \cdot t + \frac{\ell}{x} \cdot \ell\right) + \frac{t}{\frac{x}{t}} \cdot 4}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \sqrt{2}} \cdot t + \sqrt{2} \cdot t\right) - \left(\frac{1}{\sqrt{2}} - \frac{2}{\sqrt{2}}\right) \cdot \frac{t}{x \cdot x}}\\
\end{array}double f(double x, double l, double t) {
double r1658685 = 2.0;
double r1658686 = sqrt(r1658685);
double r1658687 = t;
double r1658688 = r1658686 * r1658687;
double r1658689 = x;
double r1658690 = 1.0;
double r1658691 = r1658689 + r1658690;
double r1658692 = r1658689 - r1658690;
double r1658693 = r1658691 / r1658692;
double r1658694 = l;
double r1658695 = r1658694 * r1658694;
double r1658696 = r1658687 * r1658687;
double r1658697 = r1658685 * r1658696;
double r1658698 = r1658695 + r1658697;
double r1658699 = r1658693 * r1658698;
double r1658700 = r1658699 - r1658695;
double r1658701 = sqrt(r1658700);
double r1658702 = r1658688 / r1658701;
return r1658702;
}
double f(double x, double l, double t) {
double r1658703 = t;
double r1658704 = -1.9501808158464715e+103;
bool r1658705 = r1658703 <= r1658704;
double r1658706 = 2.0;
double r1658707 = sqrt(r1658706);
double r1658708 = r1658707 * r1658703;
double r1658709 = 1.0;
double r1658710 = r1658709 / r1658707;
double r1658711 = r1658706 / r1658707;
double r1658712 = r1658710 - r1658711;
double r1658713 = x;
double r1658714 = r1658713 * r1658713;
double r1658715 = r1658703 / r1658714;
double r1658716 = r1658712 * r1658715;
double r1658717 = r1658713 * r1658707;
double r1658718 = r1658706 / r1658717;
double r1658719 = r1658718 * r1658703;
double r1658720 = r1658719 + r1658708;
double r1658721 = r1658716 - r1658720;
double r1658722 = r1658708 / r1658721;
double r1658723 = 3.622605389449186e-213;
bool r1658724 = r1658703 <= r1658723;
double r1658725 = sqrt(r1658707);
double r1658726 = r1658703 * r1658725;
double r1658727 = r1658726 * r1658725;
double r1658728 = r1658703 * r1658703;
double r1658729 = l;
double r1658730 = r1658729 / r1658713;
double r1658731 = r1658730 * r1658729;
double r1658732 = r1658728 + r1658731;
double r1658733 = r1658706 * r1658732;
double r1658734 = r1658713 / r1658703;
double r1658735 = r1658703 / r1658734;
double r1658736 = 4.0;
double r1658737 = r1658735 * r1658736;
double r1658738 = r1658733 + r1658737;
double r1658739 = sqrt(r1658738);
double r1658740 = r1658727 / r1658739;
double r1658741 = 5.72877141657189e-164;
bool r1658742 = r1658703 <= r1658741;
double r1658743 = r1658720 - r1658716;
double r1658744 = r1658708 / r1658743;
double r1658745 = 3.7543841451851774e+122;
bool r1658746 = r1658703 <= r1658745;
double r1658747 = r1658746 ? r1658740 : r1658744;
double r1658748 = r1658742 ? r1658744 : r1658747;
double r1658749 = r1658724 ? r1658740 : r1658748;
double r1658750 = r1658705 ? r1658722 : r1658749;
return r1658750;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.9501808158464715e+103Initial program 52.4
Taylor expanded around -inf 2.8
Simplified2.8
if -1.9501808158464715e+103 < t < 3.622605389449186e-213 or 5.72877141657189e-164 < t < 3.7543841451851774e+122Initial program 34.8
Taylor expanded around -inf 16.4
Simplified16.4
rmApplied *-un-lft-identity16.4
Applied times-frac12.0
Simplified12.0
rmApplied add-sqr-sqrt12.2
Applied associate-*l*12.1
if 3.622605389449186e-213 < t < 5.72877141657189e-164 or 3.7543841451851774e+122 < t Initial program 54.4
Taylor expanded around inf 6.8
Simplified6.8
Final simplification9.2
herbie shell --seed 2019141
(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)))))