\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.993318142997954691716484067874939498335 \cdot 10^{82}:\\
\;\;\;\;\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.455305075772437761165849643002614526796 \cdot 10^{123}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{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 r36552 = 2.0;
double r36553 = sqrt(r36552);
double r36554 = t;
double r36555 = r36553 * r36554;
double r36556 = x;
double r36557 = 1.0;
double r36558 = r36556 + r36557;
double r36559 = r36556 - r36557;
double r36560 = r36558 / r36559;
double r36561 = l;
double r36562 = r36561 * r36561;
double r36563 = r36554 * r36554;
double r36564 = r36552 * r36563;
double r36565 = r36562 + r36564;
double r36566 = r36560 * r36565;
double r36567 = r36566 - r36562;
double r36568 = sqrt(r36567);
double r36569 = r36555 / r36568;
return r36569;
}
double f(double x, double l, double t) {
double r36570 = t;
double r36571 = -1.9933181429979547e+82;
bool r36572 = r36570 <= r36571;
double r36573 = 2.0;
double r36574 = sqrt(r36573);
double r36575 = r36574 * r36570;
double r36576 = 3.0;
double r36577 = pow(r36574, r36576);
double r36578 = x;
double r36579 = 2.0;
double r36580 = pow(r36578, r36579);
double r36581 = r36577 * r36580;
double r36582 = r36570 / r36581;
double r36583 = r36574 * r36580;
double r36584 = r36570 / r36583;
double r36585 = r36574 * r36578;
double r36586 = r36570 / r36585;
double r36587 = r36570 * r36574;
double r36588 = fma(r36573, r36586, r36587);
double r36589 = fma(r36573, r36584, r36588);
double r36590 = -r36589;
double r36591 = fma(r36573, r36582, r36590);
double r36592 = r36575 / r36591;
double r36593 = 1.4553050757724378e+123;
bool r36594 = r36570 <= r36593;
double r36595 = pow(r36570, r36579);
double r36596 = l;
double r36597 = r36596 / r36578;
double r36598 = r36596 * r36597;
double r36599 = 4.0;
double r36600 = r36595 / r36578;
double r36601 = r36599 * r36600;
double r36602 = fma(r36573, r36598, r36601);
double r36603 = fma(r36573, r36595, r36602);
double r36604 = sqrt(r36603);
double r36605 = r36575 / r36604;
double r36606 = r36573 * r36582;
double r36607 = r36588 - r36606;
double r36608 = fma(r36573, r36584, r36607);
double r36609 = r36575 / r36608;
double r36610 = r36594 ? r36605 : r36609;
double r36611 = r36572 ? r36592 : r36610;
return r36611;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.9933181429979547e+82Initial program 47.1
Taylor expanded around -inf 3.5
Simplified3.5
if -1.9933181429979547e+82 < t < 1.4553050757724378e+123Initial program 38.0
Taylor expanded around inf 17.6
Simplified17.6
rmApplied *-un-lft-identity17.6
Applied add-sqr-sqrt40.7
Applied unpow-prod-down40.7
Applied times-frac38.4
Simplified38.4
Simplified13.7
if 1.4553050757724378e+123 < t Initial program 55.2
Taylor expanded around inf 2.9
Simplified2.9
Final simplification9.4
herbie shell --seed 2019352 +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)))))