\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 -2.38309434677818877 \cdot 10^{52}:\\
\;\;\;\;\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 -5.04825856516847444 \cdot 10^{-166}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}\right)}}\\
\mathbf{elif}\;t \le -4.9170243715152576 \cdot 10^{-252}:\\
\;\;\;\;\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 4.69290896975336247 \cdot 10^{-277}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{2}}{x}\right)}} \cdot \sqrt{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{{\ell}^{2}}{x}\right)}}}\\
\mathbf{elif}\;t \le 8.29667681228522312 \cdot 10^{-221}:\\
\;\;\;\;\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 9.6733349545290492 \cdot 10^{22}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \left|\ell\right| \cdot \frac{\left|\ell\right|}{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 r40676 = 2.0;
double r40677 = sqrt(r40676);
double r40678 = t;
double r40679 = r40677 * r40678;
double r40680 = x;
double r40681 = 1.0;
double r40682 = r40680 + r40681;
double r40683 = r40680 - r40681;
double r40684 = r40682 / r40683;
double r40685 = l;
double r40686 = r40685 * r40685;
double r40687 = r40678 * r40678;
double r40688 = r40676 * r40687;
double r40689 = r40686 + r40688;
double r40690 = r40684 * r40689;
double r40691 = r40690 - r40686;
double r40692 = sqrt(r40691);
double r40693 = r40679 / r40692;
return r40693;
}
double f(double x, double l, double t) {
double r40694 = t;
double r40695 = -2.3830943467781888e+52;
bool r40696 = r40694 <= r40695;
double r40697 = 2.0;
double r40698 = sqrt(r40697);
double r40699 = r40698 * r40694;
double r40700 = 3.0;
double r40701 = pow(r40698, r40700);
double r40702 = x;
double r40703 = 2.0;
double r40704 = pow(r40702, r40703);
double r40705 = r40701 * r40704;
double r40706 = r40694 / r40705;
double r40707 = r40698 * r40704;
double r40708 = r40694 / r40707;
double r40709 = r40706 - r40708;
double r40710 = r40697 * r40709;
double r40711 = r40710 - r40699;
double r40712 = r40698 * r40702;
double r40713 = r40694 / r40712;
double r40714 = r40697 * r40713;
double r40715 = r40711 - r40714;
double r40716 = r40699 / r40715;
double r40717 = -5.0482585651684744e-166;
bool r40718 = r40694 <= r40717;
double r40719 = 4.0;
double r40720 = pow(r40694, r40703);
double r40721 = r40720 / r40702;
double r40722 = r40719 * r40721;
double r40723 = l;
double r40724 = fabs(r40723);
double r40725 = r40724 / r40702;
double r40726 = r40724 * r40725;
double r40727 = r40720 + r40726;
double r40728 = r40697 * r40727;
double r40729 = r40722 + r40728;
double r40730 = sqrt(r40729);
double r40731 = r40699 / r40730;
double r40732 = -4.917024371515258e-252;
bool r40733 = r40694 <= r40732;
double r40734 = 4.692908969753362e-277;
bool r40735 = r40694 <= r40734;
double r40736 = pow(r40723, r40703);
double r40737 = r40736 / r40702;
double r40738 = r40720 + r40737;
double r40739 = r40697 * r40738;
double r40740 = r40722 + r40739;
double r40741 = sqrt(r40740);
double r40742 = sqrt(r40741);
double r40743 = r40742 * r40742;
double r40744 = r40699 / r40743;
double r40745 = 8.296676812285223e-221;
bool r40746 = r40694 <= r40745;
double r40747 = r40708 + r40713;
double r40748 = r40697 * r40747;
double r40749 = r40697 * r40706;
double r40750 = r40699 - r40749;
double r40751 = r40748 + r40750;
double r40752 = r40699 / r40751;
double r40753 = 9.67333495452905e+22;
bool r40754 = r40694 <= r40753;
double r40755 = r40754 ? r40731 : r40752;
double r40756 = r40746 ? r40752 : r40755;
double r40757 = r40735 ? r40744 : r40756;
double r40758 = r40733 ? r40716 : r40757;
double r40759 = r40718 ? r40731 : r40758;
double r40760 = r40696 ? r40716 : r40759;
return r40760;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.3830943467781888e+52 or -5.0482585651684744e-166 < t < -4.917024371515258e-252Initial program 47.9
Taylor expanded around -inf 9.4
Simplified9.4
if -2.3830943467781888e+52 < t < -5.0482585651684744e-166 or 8.296676812285223e-221 < t < 9.67333495452905e+22Initial program 34.2
Taylor expanded around inf 13.9
Simplified13.9
rmApplied *-un-lft-identity13.9
Applied add-sqr-sqrt13.9
Applied times-frac13.9
Simplified13.9
Simplified8.8
if -4.917024371515258e-252 < t < 4.692908969753362e-277Initial program 63.2
Taylor expanded around inf 31.2
Simplified31.2
rmApplied add-sqr-sqrt31.2
Applied sqrt-prod31.3
if 4.692908969753362e-277 < t < 8.296676812285223e-221 or 9.67333495452905e+22 < t Initial program 44.5
Taylor expanded around inf 9.5
Simplified9.5
Final simplification10.3
herbie shell --seed 2020024
(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)))))