\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 -3.88724953566277104 \cdot 10^{142}:\\
\;\;\;\;\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 100566104490598089000:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{{\ell}^{1}}{\frac{x}{\ell}}, 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 r38213 = 2.0;
double r38214 = sqrt(r38213);
double r38215 = t;
double r38216 = r38214 * r38215;
double r38217 = x;
double r38218 = 1.0;
double r38219 = r38217 + r38218;
double r38220 = r38217 - r38218;
double r38221 = r38219 / r38220;
double r38222 = l;
double r38223 = r38222 * r38222;
double r38224 = r38215 * r38215;
double r38225 = r38213 * r38224;
double r38226 = r38223 + r38225;
double r38227 = r38221 * r38226;
double r38228 = r38227 - r38223;
double r38229 = sqrt(r38228);
double r38230 = r38216 / r38229;
return r38230;
}
double f(double x, double l, double t) {
double r38231 = t;
double r38232 = -3.887249535662771e+142;
bool r38233 = r38231 <= r38232;
double r38234 = 2.0;
double r38235 = sqrt(r38234);
double r38236 = r38235 * r38231;
double r38237 = 3.0;
double r38238 = pow(r38235, r38237);
double r38239 = x;
double r38240 = 2.0;
double r38241 = pow(r38239, r38240);
double r38242 = r38238 * r38241;
double r38243 = r38231 / r38242;
double r38244 = r38235 * r38241;
double r38245 = r38231 / r38244;
double r38246 = r38235 * r38239;
double r38247 = r38231 / r38246;
double r38248 = r38231 * r38235;
double r38249 = fma(r38234, r38247, r38248);
double r38250 = fma(r38234, r38245, r38249);
double r38251 = -r38250;
double r38252 = fma(r38234, r38243, r38251);
double r38253 = r38236 / r38252;
double r38254 = 1.0056610449059809e+20;
bool r38255 = r38231 <= r38254;
double r38256 = cbrt(r38235);
double r38257 = r38256 * r38256;
double r38258 = r38256 * r38231;
double r38259 = r38257 * r38258;
double r38260 = pow(r38231, r38240);
double r38261 = l;
double r38262 = 1.0;
double r38263 = pow(r38261, r38262);
double r38264 = r38239 / r38261;
double r38265 = r38263 / r38264;
double r38266 = 4.0;
double r38267 = r38260 / r38239;
double r38268 = r38266 * r38267;
double r38269 = fma(r38234, r38265, r38268);
double r38270 = fma(r38234, r38260, r38269);
double r38271 = sqrt(r38270);
double r38272 = r38259 / r38271;
double r38273 = r38234 * r38243;
double r38274 = r38249 - r38273;
double r38275 = fma(r38234, r38245, r38274);
double r38276 = r38236 / r38275;
double r38277 = r38255 ? r38272 : r38276;
double r38278 = r38233 ? r38253 : r38277;
return r38278;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -3.887249535662771e+142Initial program 59.3
Taylor expanded around -inf 2.0
Simplified2.0
if -3.887249535662771e+142 < t < 1.0056610449059809e+20Initial program 39.4
Taylor expanded around inf 18.4
Simplified18.4
rmApplied sqr-pow18.4
Applied associate-/l*14.3
Simplified14.3
rmApplied add-cube-cbrt14.3
Applied associate-*l*14.3
if 1.0056610449059809e+20 < t Initial program 42.3
Taylor expanded around inf 4.6
Simplified4.6
Final simplification9.7
herbie shell --seed 2020064 +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)))))