\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.2719019289673334 \cdot 10^{144}:\\
\;\;\;\;\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 -6.96465996540205183 \cdot 10^{-160}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}\right)}}\\
\mathbf{elif}\;t \le -8.3907489275160478 \cdot 10^{-305}:\\
\;\;\;\;\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 1.55025571593266788 \cdot 10^{147}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \left({t}^{2} + \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\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 r81 = 2.0;
double r82 = sqrt(r81);
double r83 = t;
double r84 = r82 * r83;
double r85 = x;
double r86 = 1.0;
double r87 = r85 + r86;
double r88 = r85 - r86;
double r89 = r87 / r88;
double r90 = l;
double r91 = r90 * r90;
double r92 = r83 * r83;
double r93 = r81 * r92;
double r94 = r91 + r93;
double r95 = r89 * r94;
double r96 = r95 - r91;
double r97 = sqrt(r96);
double r98 = r84 / r97;
return r98;
}
double f(double x, double l, double t) {
double r99 = t;
double r100 = -1.2719019289673334e+144;
bool r101 = r99 <= r100;
double r102 = 2.0;
double r103 = sqrt(r102);
double r104 = r103 * r99;
double r105 = 3.0;
double r106 = pow(r103, r105);
double r107 = x;
double r108 = 2.0;
double r109 = pow(r107, r108);
double r110 = r106 * r109;
double r111 = r99 / r110;
double r112 = r103 * r109;
double r113 = r99 / r112;
double r114 = r111 - r113;
double r115 = r102 * r114;
double r116 = r115 - r104;
double r117 = r103 * r107;
double r118 = r99 / r117;
double r119 = r102 * r118;
double r120 = r116 - r119;
double r121 = r104 / r120;
double r122 = -6.964659965402052e-160;
bool r123 = r99 <= r122;
double r124 = 4.0;
double r125 = pow(r99, r108);
double r126 = r125 / r107;
double r127 = r124 * r126;
double r128 = l;
double r129 = cbrt(r107);
double r130 = r129 * r129;
double r131 = r128 / r130;
double r132 = r128 / r129;
double r133 = r131 * r132;
double r134 = r125 + r133;
double r135 = r102 * r134;
double r136 = r127 + r135;
double r137 = sqrt(r136);
double r138 = r104 / r137;
double r139 = -8.390748927516048e-305;
bool r140 = r99 <= r139;
double r141 = 1.5502557159326679e+147;
bool r142 = r99 <= r141;
double r143 = r113 + r118;
double r144 = r102 * r143;
double r145 = r102 * r111;
double r146 = r104 - r145;
double r147 = r144 + r146;
double r148 = r104 / r147;
double r149 = r142 ? r138 : r148;
double r150 = r140 ? r121 : r149;
double r151 = r123 ? r138 : r150;
double r152 = r101 ? r121 : r151;
return r152;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -1.2719019289673334e+144 or -6.964659965402052e-160 < t < -8.390748927516048e-305Initial program 60.8
Taylor expanded around -inf 14.3
Simplified14.3
if -1.2719019289673334e+144 < t < -6.964659965402052e-160 or -8.390748927516048e-305 < t < 1.5502557159326679e+147Initial program 30.2
Taylor expanded around inf 14.0
Simplified14.0
rmApplied add-cube-cbrt14.0
Applied add-sqr-sqrt38.6
Applied unpow-prod-down38.6
Applied times-frac36.2
Simplified36.2
Simplified9.1
if 1.5502557159326679e+147 < t Initial program 60.2
Taylor expanded around inf 1.5
Simplified1.5
Final simplification9.3
herbie shell --seed 2020025
(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)))))