\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.526796709366070268539771028335785888924 \cdot 10^{142}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le -1.100438500662438394216054691601263900469 \cdot 10^{-166}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\frac{\left|\ell\right|}{\sqrt[3]{x}}}{\sqrt[3]{x}} \cdot \frac{\left|\ell\right|}{\sqrt[3]{x}}\right)}}\\
\mathbf{elif}\;t \le 6.50243723828802950164499168405456194956 \cdot 10^{-304}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le 55644010688926858222764032:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\frac{\left|\ell\right|}{\sqrt[3]{x}}}{\sqrt[3]{x}} \cdot \frac{\left|\ell\right|}{\sqrt[3]{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 r45703 = 2.0;
double r45704 = sqrt(r45703);
double r45705 = t;
double r45706 = r45704 * r45705;
double r45707 = x;
double r45708 = 1.0;
double r45709 = r45707 + r45708;
double r45710 = r45707 - r45708;
double r45711 = r45709 / r45710;
double r45712 = l;
double r45713 = r45712 * r45712;
double r45714 = r45705 * r45705;
double r45715 = r45703 * r45714;
double r45716 = r45713 + r45715;
double r45717 = r45711 * r45716;
double r45718 = r45717 - r45713;
double r45719 = sqrt(r45718);
double r45720 = r45706 / r45719;
return r45720;
}
double f(double x, double l, double t) {
double r45721 = t;
double r45722 = -2.52679670936607e+142;
bool r45723 = r45721 <= r45722;
double r45724 = 2.0;
double r45725 = sqrt(r45724);
double r45726 = r45725 * r45721;
double r45727 = 3.0;
double r45728 = pow(r45725, r45727);
double r45729 = x;
double r45730 = 2.0;
double r45731 = pow(r45729, r45730);
double r45732 = r45728 * r45731;
double r45733 = r45721 / r45732;
double r45734 = r45724 * r45733;
double r45735 = r45725 * r45729;
double r45736 = r45721 / r45735;
double r45737 = r45724 * r45736;
double r45738 = r45721 * r45725;
double r45739 = r45737 + r45738;
double r45740 = r45734 - r45739;
double r45741 = r45726 / r45740;
double r45742 = -1.1004385006624384e-166;
bool r45743 = r45721 <= r45742;
double r45744 = 4.0;
double r45745 = pow(r45721, r45730);
double r45746 = r45745 / r45729;
double r45747 = r45744 * r45746;
double r45748 = l;
double r45749 = fabs(r45748);
double r45750 = cbrt(r45729);
double r45751 = r45749 / r45750;
double r45752 = r45751 / r45750;
double r45753 = r45752 * r45751;
double r45754 = r45745 + r45753;
double r45755 = r45724 * r45754;
double r45756 = r45747 + r45755;
double r45757 = sqrt(r45756);
double r45758 = r45726 / r45757;
double r45759 = 6.5024372382880295e-304;
bool r45760 = r45721 <= r45759;
double r45761 = 5.564401068892686e+25;
bool r45762 = r45721 <= r45761;
double r45763 = r45725 * r45731;
double r45764 = r45721 / r45763;
double r45765 = r45764 + r45736;
double r45766 = r45724 * r45765;
double r45767 = r45726 - r45734;
double r45768 = r45766 + r45767;
double r45769 = r45726 / r45768;
double r45770 = r45762 ? r45758 : r45769;
double r45771 = r45760 ? r45741 : r45770;
double r45772 = r45743 ? r45758 : r45771;
double r45773 = r45723 ? r45741 : r45772;
return r45773;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.52679670936607e+142 or -1.1004385006624384e-166 < t < 6.5024372382880295e-304Initial program 60.2
Taylor expanded around inf 50.5
Simplified50.5
Taylor expanded around -inf 15.1
if -2.52679670936607e+142 < t < -1.1004385006624384e-166 or 6.5024372382880295e-304 < t < 5.564401068892686e+25Initial program 32.5
Taylor expanded around inf 13.8
Simplified13.8
rmApplied add-cube-cbrt13.9
Applied add-sqr-sqrt13.9
Applied times-frac13.9
Simplified13.9
Simplified9.5
if 5.564401068892686e+25 < t Initial program 42.9
Taylor expanded around inf 3.9
Simplified3.9
Final simplification9.5
herbie shell --seed 2019294
(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)))))