\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 -6.06158033024633525 \cdot 10^{80}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le -3.4742680211531412 \cdot 10^{-205}:\\
\;\;\;\;\frac{\sqrt{1} \cdot \left(t \cdot \sqrt{2}\right)}{\sqrt{\left(2 \cdot \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}} + 4 \cdot \frac{{t}^{2}}{x}\right) + 2 \cdot {t}^{2}}}\\
\mathbf{elif}\;t \le -4.9375663824827687 \cdot 10^{-283}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le 2.41471964083382225 \cdot 10^{115}:\\
\;\;\;\;\frac{\sqrt{1} \cdot \left(t \cdot \sqrt{2}\right)}{\sqrt{\left(2 \cdot \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}} + 4 \cdot \frac{{t}^{2}}{x}\right) + 2 \cdot {t}^{2}}}\\
\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 r40340 = 2.0;
double r40341 = sqrt(r40340);
double r40342 = t;
double r40343 = r40341 * r40342;
double r40344 = x;
double r40345 = 1.0;
double r40346 = r40344 + r40345;
double r40347 = r40344 - r40345;
double r40348 = r40346 / r40347;
double r40349 = l;
double r40350 = r40349 * r40349;
double r40351 = r40342 * r40342;
double r40352 = r40340 * r40351;
double r40353 = r40350 + r40352;
double r40354 = r40348 * r40353;
double r40355 = r40354 - r40350;
double r40356 = sqrt(r40355);
double r40357 = r40343 / r40356;
return r40357;
}
double f(double x, double l, double t) {
double r40358 = t;
double r40359 = -6.061580330246335e+80;
bool r40360 = r40358 <= r40359;
double r40361 = 2.0;
double r40362 = sqrt(r40361);
double r40363 = r40362 * r40358;
double r40364 = 3.0;
double r40365 = pow(r40362, r40364);
double r40366 = x;
double r40367 = 2.0;
double r40368 = pow(r40366, r40367);
double r40369 = r40365 * r40368;
double r40370 = r40358 / r40369;
double r40371 = r40362 * r40368;
double r40372 = r40358 / r40371;
double r40373 = r40370 - r40372;
double r40374 = r40361 * r40373;
double r40375 = r40362 * r40366;
double r40376 = r40358 / r40375;
double r40377 = r40361 * r40376;
double r40378 = r40358 * r40362;
double r40379 = r40377 + r40378;
double r40380 = r40374 - r40379;
double r40381 = r40363 / r40380;
double r40382 = -3.4742680211531412e-205;
bool r40383 = r40358 <= r40382;
double r40384 = 1.0;
double r40385 = sqrt(r40384);
double r40386 = r40385 * r40378;
double r40387 = l;
double r40388 = r40367 / r40367;
double r40389 = pow(r40387, r40388);
double r40390 = r40366 / r40387;
double r40391 = r40389 / r40390;
double r40392 = r40361 * r40391;
double r40393 = 4.0;
double r40394 = pow(r40358, r40367);
double r40395 = r40394 / r40366;
double r40396 = r40393 * r40395;
double r40397 = r40392 + r40396;
double r40398 = r40361 * r40394;
double r40399 = r40397 + r40398;
double r40400 = sqrt(r40399);
double r40401 = r40386 / r40400;
double r40402 = -4.937566382482769e-283;
bool r40403 = r40358 <= r40402;
double r40404 = 2.4147196408338222e+115;
bool r40405 = r40358 <= r40404;
double r40406 = r40372 + r40376;
double r40407 = r40361 * r40406;
double r40408 = r40361 * r40370;
double r40409 = r40363 - r40408;
double r40410 = r40407 + r40409;
double r40411 = r40363 / r40410;
double r40412 = r40405 ? r40401 : r40411;
double r40413 = r40403 ? r40381 : r40412;
double r40414 = r40383 ? r40401 : r40413;
double r40415 = r40360 ? r40381 : r40414;
return r40415;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.061580330246335e+80 or -3.4742680211531412e-205 < t < -4.937566382482769e-283Initial program 49.9
Taylor expanded around -inf 9.8
Simplified9.8
if -6.061580330246335e+80 < t < -3.4742680211531412e-205 or -4.937566382482769e-283 < t < 2.4147196408338222e+115Initial program 35.3
Taylor expanded around inf 15.8
rmApplied sqr-pow15.8
Applied associate-/l*11.6
Simplified11.6
rmApplied *-un-lft-identity11.6
Applied sqrt-prod11.6
Applied associate-*l*11.6
Simplified11.6
if 2.4147196408338222e+115 < t Initial program 52.4
Taylor expanded around inf 2.4
Simplified2.4
Final simplification9.4
herbie shell --seed 2020045
(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)))))