\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.24285158980977657 \cdot 10^{105}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 2.7339932236656501 \cdot 10^{113}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left(\sqrt{{t}^{2} + \frac{\ell}{\frac{x}{\ell}}} \cdot \sqrt{{t}^{2} + \frac{\ell}{\frac{x}{\ell}}}\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{2} \cdot t + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{t}{{x}^{2}} \cdot \left(\frac{2}{\sqrt{2}} - \frac{2}{{\left(\sqrt{2}\right)}^{3}}\right)\right)}\\
\end{array}double f(double x, double l, double t) {
double r31723 = 2.0;
double r31724 = sqrt(r31723);
double r31725 = t;
double r31726 = r31724 * r31725;
double r31727 = x;
double r31728 = 1.0;
double r31729 = r31727 + r31728;
double r31730 = r31727 - r31728;
double r31731 = r31729 / r31730;
double r31732 = l;
double r31733 = r31732 * r31732;
double r31734 = r31725 * r31725;
double r31735 = r31723 * r31734;
double r31736 = r31733 + r31735;
double r31737 = r31731 * r31736;
double r31738 = r31737 - r31733;
double r31739 = sqrt(r31738);
double r31740 = r31726 / r31739;
return r31740;
}
double f(double x, double l, double t) {
double r31741 = t;
double r31742 = -2.2428515898097766e+105;
bool r31743 = r31741 <= r31742;
double r31744 = 2.0;
double r31745 = sqrt(r31744);
double r31746 = r31745 * r31741;
double r31747 = 3.0;
double r31748 = pow(r31745, r31747);
double r31749 = x;
double r31750 = 2.0;
double r31751 = pow(r31749, r31750);
double r31752 = r31748 * r31751;
double r31753 = r31741 / r31752;
double r31754 = r31745 * r31749;
double r31755 = r31741 / r31754;
double r31756 = r31753 - r31755;
double r31757 = r31744 * r31756;
double r31758 = r31757 - r31746;
double r31759 = r31746 / r31758;
double r31760 = 2.73399322366565e+113;
bool r31761 = r31741 <= r31760;
double r31762 = cbrt(r31745);
double r31763 = r31762 * r31762;
double r31764 = r31762 * r31741;
double r31765 = r31763 * r31764;
double r31766 = 4.0;
double r31767 = pow(r31741, r31750);
double r31768 = r31767 / r31749;
double r31769 = r31766 * r31768;
double r31770 = l;
double r31771 = r31749 / r31770;
double r31772 = r31770 / r31771;
double r31773 = r31767 + r31772;
double r31774 = sqrt(r31773);
double r31775 = r31774 * r31774;
double r31776 = r31744 * r31775;
double r31777 = r31769 + r31776;
double r31778 = sqrt(r31777);
double r31779 = r31765 / r31778;
double r31780 = r31744 * r31755;
double r31781 = r31741 / r31751;
double r31782 = r31744 / r31745;
double r31783 = r31744 / r31748;
double r31784 = r31782 - r31783;
double r31785 = r31781 * r31784;
double r31786 = r31780 + r31785;
double r31787 = r31746 + r31786;
double r31788 = r31746 / r31787;
double r31789 = r31761 ? r31779 : r31788;
double r31790 = r31743 ? r31759 : r31789;
return r31790;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -2.2428515898097766e+105Initial program 50.5
Taylor expanded around inf 50.7
Simplified50.7
rmApplied unpow250.7
Applied associate-/l*48.9
Taylor expanded around -inf 2.7
Simplified2.7
if -2.2428515898097766e+105 < t < 2.73399322366565e+113Initial program 38.1
Taylor expanded around inf 17.5
Simplified17.5
rmApplied unpow217.5
Applied associate-/l*13.7
rmApplied add-cube-cbrt13.7
Applied associate-*l*13.7
rmApplied add-sqr-sqrt13.7
if 2.73399322366565e+113 < t Initial program 52.6
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.6
herbie shell --seed 2020100
(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)))))