\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 -8925948169228505841664:\\
\;\;\;\;\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 -4.150104375191896058931144579917357958415 \cdot 10^{-264}:\\
\;\;\;\;\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 \cdot t, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -1.359743249611535622246495249130894934311 \cdot 10^{-302}:\\
\;\;\;\;\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 7.531239479384591373150719911041308676026 \cdot 10^{145}:\\
\;\;\;\;\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 \cdot t, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{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)\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\end{array}double f(double x, double l, double t) {
double r44226 = 2.0;
double r44227 = sqrt(r44226);
double r44228 = t;
double r44229 = r44227 * r44228;
double r44230 = x;
double r44231 = 1.0;
double r44232 = r44230 + r44231;
double r44233 = r44230 - r44231;
double r44234 = r44232 / r44233;
double r44235 = l;
double r44236 = r44235 * r44235;
double r44237 = r44228 * r44228;
double r44238 = r44226 * r44237;
double r44239 = r44236 + r44238;
double r44240 = r44234 * r44239;
double r44241 = r44240 - r44236;
double r44242 = sqrt(r44241);
double r44243 = r44229 / r44242;
return r44243;
}
double f(double x, double l, double t) {
double r44244 = t;
double r44245 = -8.925948169228506e+21;
bool r44246 = r44244 <= r44245;
double r44247 = 2.0;
double r44248 = sqrt(r44247);
double r44249 = r44248 * r44244;
double r44250 = 3.0;
double r44251 = pow(r44248, r44250);
double r44252 = x;
double r44253 = 2.0;
double r44254 = pow(r44252, r44253);
double r44255 = r44251 * r44254;
double r44256 = r44244 / r44255;
double r44257 = r44248 * r44254;
double r44258 = r44244 / r44257;
double r44259 = r44248 * r44252;
double r44260 = r44244 / r44259;
double r44261 = r44244 * r44248;
double r44262 = fma(r44247, r44260, r44261);
double r44263 = fma(r44247, r44258, r44262);
double r44264 = -r44263;
double r44265 = fma(r44247, r44256, r44264);
double r44266 = r44249 / r44265;
double r44267 = -4.150104375191896e-264;
bool r44268 = r44244 <= r44267;
double r44269 = cbrt(r44248);
double r44270 = r44269 * r44269;
double r44271 = r44269 * r44244;
double r44272 = r44270 * r44271;
double r44273 = r44244 * r44244;
double r44274 = l;
double r44275 = fabs(r44274);
double r44276 = r44275 / r44252;
double r44277 = r44275 * r44276;
double r44278 = 4.0;
double r44279 = pow(r44244, r44253);
double r44280 = r44279 / r44252;
double r44281 = r44278 * r44280;
double r44282 = fma(r44247, r44277, r44281);
double r44283 = fma(r44247, r44273, r44282);
double r44284 = sqrt(r44283);
double r44285 = r44272 / r44284;
double r44286 = -1.3597432496115356e-302;
bool r44287 = r44244 <= r44286;
double r44288 = 7.531239479384591e+145;
bool r44289 = r44244 <= r44288;
double r44290 = r44247 * r44256;
double r44291 = r44263 - r44290;
double r44292 = r44249 / r44291;
double r44293 = r44289 ? r44285 : r44292;
double r44294 = r44287 ? r44266 : r44293;
double r44295 = r44268 ? r44285 : r44294;
double r44296 = r44246 ? r44266 : r44295;
return r44296;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -8.925948169228506e+21 or -4.150104375191896e-264 < t < -1.3597432496115356e-302Initial program 44.7
Taylor expanded around -inf 7.7
Simplified7.7
if -8.925948169228506e+21 < t < -4.150104375191896e-264 or -1.3597432496115356e-302 < t < 7.531239479384591e+145Initial program 37.1
Taylor expanded around inf 17.1
Simplified17.1
rmApplied *-un-lft-identity17.1
Applied add-sqr-sqrt17.1
Applied times-frac17.1
Simplified17.1
Simplified13.0
rmApplied add-cube-cbrt13.0
Applied associate-*l*13.0
if 7.531239479384591e+145 < t Initial program 59.7
Taylor expanded around inf 1.7
Simplified1.7
Final simplification9.6
herbie shell --seed 2019323 +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)))))