\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 -4.09758842636574692 \cdot 10^{140}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le -4.7384326528114072 \cdot 10^{-208}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{2 \cdot \left(t \cdot t + \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\\
\mathbf{elif}\;t \le -3.3196210034371617 \cdot 10^{-283}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \frac{t}{\sqrt{2} \cdot {x}^{2}}\right) - 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 2.5274016136862038 \cdot 10^{114}:\\
\;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)}{\sqrt{2 \cdot \left(t \cdot t + \frac{{\ell}^{\left(\frac{2}{2}\right)}}{\frac{x}{\ell}}\right) + 4 \cdot \frac{{t}^{2}}{x}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(2 \cdot \left(\frac{t}{\sqrt{2} \cdot {x}^{2}} + \frac{t}{\sqrt{2} \cdot x}\right) + \sqrt{2} \cdot t\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}\\
\end{array}double f(double x, double l, double t) {
double r39656 = 2.0;
double r39657 = sqrt(r39656);
double r39658 = t;
double r39659 = r39657 * r39658;
double r39660 = x;
double r39661 = 1.0;
double r39662 = r39660 + r39661;
double r39663 = r39660 - r39661;
double r39664 = r39662 / r39663;
double r39665 = l;
double r39666 = r39665 * r39665;
double r39667 = r39658 * r39658;
double r39668 = r39656 * r39667;
double r39669 = r39666 + r39668;
double r39670 = r39664 * r39669;
double r39671 = r39670 - r39666;
double r39672 = sqrt(r39671);
double r39673 = r39659 / r39672;
return r39673;
}
double f(double x, double l, double t) {
double r39674 = t;
double r39675 = -4.097588426365747e+140;
bool r39676 = r39674 <= r39675;
double r39677 = 2.0;
double r39678 = sqrt(r39677);
double r39679 = r39678 * r39674;
double r39680 = 3.0;
double r39681 = pow(r39678, r39680);
double r39682 = x;
double r39683 = 2.0;
double r39684 = pow(r39682, r39683);
double r39685 = r39681 * r39684;
double r39686 = r39674 / r39685;
double r39687 = r39678 * r39684;
double r39688 = r39674 / r39687;
double r39689 = r39686 - r39688;
double r39690 = r39677 * r39689;
double r39691 = r39678 * r39682;
double r39692 = r39674 / r39691;
double r39693 = r39677 * r39692;
double r39694 = r39690 - r39693;
double r39695 = r39694 - r39679;
double r39696 = r39679 / r39695;
double r39697 = -4.738432652811407e-208;
bool r39698 = r39674 <= r39697;
double r39699 = cbrt(r39678);
double r39700 = r39699 * r39699;
double r39701 = r39699 * r39674;
double r39702 = r39700 * r39701;
double r39703 = r39674 * r39674;
double r39704 = l;
double r39705 = r39683 / r39683;
double r39706 = pow(r39704, r39705);
double r39707 = r39682 / r39704;
double r39708 = r39706 / r39707;
double r39709 = r39703 + r39708;
double r39710 = r39677 * r39709;
double r39711 = 4.0;
double r39712 = pow(r39674, r39683);
double r39713 = r39712 / r39682;
double r39714 = r39711 * r39713;
double r39715 = r39710 + r39714;
double r39716 = sqrt(r39715);
double r39717 = r39702 / r39716;
double r39718 = -3.3196210034371617e-283;
bool r39719 = r39674 <= r39718;
double r39720 = 2.527401613686204e+114;
bool r39721 = r39674 <= r39720;
double r39722 = r39688 + r39692;
double r39723 = r39677 * r39722;
double r39724 = r39723 + r39679;
double r39725 = r39677 * r39686;
double r39726 = r39724 - r39725;
double r39727 = r39679 / r39726;
double r39728 = r39721 ? r39717 : r39727;
double r39729 = r39719 ? r39696 : r39728;
double r39730 = r39698 ? r39717 : r39729;
double r39731 = r39676 ? r39696 : r39730;
return r39731;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -4.097588426365747e+140 or -4.738432652811407e-208 < t < -3.3196210034371617e-283Initial program 59.4
Taylor expanded around -inf 10.3
Simplified10.3
if -4.097588426365747e+140 < t < -4.738432652811407e-208 or -3.3196210034371617e-283 < t < 2.527401613686204e+114Initial program 33.5
Taylor expanded around inf 15.5
Simplified15.5
rmApplied sqr-pow15.5
Applied associate-/l*11.1
Simplified11.1
rmApplied add-cube-cbrt11.1
Applied associate-*l*11.1
if 2.527401613686204e+114 < t Initial program 52.2
Taylor expanded around inf 2.4
Simplified2.4
Final simplification9.3
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)))))