\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}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le -6.96465996540205183 \cdot 10^{-160}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -8.3907489275160478 \cdot 10^{-305}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}, -\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)\right)\right)}\\
\mathbf{elif}\;t \le 1.55025571593266788 \cdot 10^{147}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{\ell}{\sqrt[3]{x}}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot {x}^{2}}, \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right) - 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 = r103 * r107;
double r115 = r99 / r114;
double r116 = r99 * r103;
double r117 = fma(r102, r115, r116);
double r118 = fma(r102, r113, r117);
double r119 = -r118;
double r120 = fma(r102, r111, r119);
double r121 = r104 / r120;
double r122 = -6.964659965402052e-160;
bool r123 = r99 <= r122;
double r124 = pow(r99, r108);
double r125 = l;
double r126 = cbrt(r107);
double r127 = r126 * r126;
double r128 = r125 / r127;
double r129 = r125 / r126;
double r130 = r128 * r129;
double r131 = 4.0;
double r132 = r124 / r107;
double r133 = r131 * r132;
double r134 = fma(r102, r130, r133);
double r135 = fma(r102, r124, r134);
double r136 = sqrt(r135);
double r137 = r104 / r136;
double r138 = -8.390748927516048e-305;
bool r139 = r99 <= r138;
double r140 = 1.5502557159326679e+147;
bool r141 = r99 <= r140;
double r142 = r102 * r111;
double r143 = r117 - r142;
double r144 = fma(r102, r113, r143);
double r145 = r104 / r144;
double r146 = r141 ? r137 : r145;
double r147 = r139 ? r121 : r146;
double r148 = r123 ? r137 : r147;
double r149 = r101 ? r121 : r148;
return r149;
}



Bits error versus x



Bits error versus l



Bits error versus t
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 +o rules:numerics
(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)))))