\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.107580994870799203060424522957670919008 \cdot 10^{79}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{-\left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\
\mathbf{elif}\;t \le 8.56309678127628243506769593975806174628 \cdot 10^{104}:\\
\;\;\;\;\frac{\sqrt{\sqrt{\sqrt{2}}} \cdot \left(\sqrt{\sqrt{\sqrt{2}}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \frac{\ell}{\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 r37684 = 2.0;
double r37685 = sqrt(r37684);
double r37686 = t;
double r37687 = r37685 * r37686;
double r37688 = x;
double r37689 = 1.0;
double r37690 = r37688 + r37689;
double r37691 = r37688 - r37689;
double r37692 = r37690 / r37691;
double r37693 = l;
double r37694 = r37693 * r37693;
double r37695 = r37686 * r37686;
double r37696 = r37684 * r37695;
double r37697 = r37694 + r37696;
double r37698 = r37692 * r37697;
double r37699 = r37698 - r37694;
double r37700 = sqrt(r37699);
double r37701 = r37687 / r37700;
return r37701;
}
double f(double x, double l, double t) {
double r37702 = t;
double r37703 = -4.107580994870799e+79;
bool r37704 = r37702 <= r37703;
double r37705 = 2.0;
double r37706 = sqrt(r37705);
double r37707 = r37706 * r37702;
double r37708 = r37702 * r37706;
double r37709 = x;
double r37710 = r37706 * r37709;
double r37711 = r37702 / r37710;
double r37712 = r37705 * r37711;
double r37713 = r37708 + r37712;
double r37714 = -r37713;
double r37715 = r37707 / r37714;
double r37716 = 8.563096781276282e+104;
bool r37717 = r37702 <= r37716;
double r37718 = sqrt(r37706);
double r37719 = sqrt(r37718);
double r37720 = r37718 * r37702;
double r37721 = r37719 * r37720;
double r37722 = r37719 * r37721;
double r37723 = 2.0;
double r37724 = pow(r37702, r37723);
double r37725 = l;
double r37726 = r37709 / r37725;
double r37727 = r37725 / r37726;
double r37728 = 4.0;
double r37729 = r37724 / r37709;
double r37730 = r37728 * r37729;
double r37731 = fma(r37705, r37727, r37730);
double r37732 = fma(r37705, r37724, r37731);
double r37733 = sqrt(r37732);
double r37734 = r37722 / r37733;
double r37735 = pow(r37709, r37723);
double r37736 = r37706 * r37735;
double r37737 = r37702 / r37736;
double r37738 = fma(r37705, r37711, r37708);
double r37739 = 3.0;
double r37740 = pow(r37706, r37739);
double r37741 = r37740 * r37735;
double r37742 = r37702 / r37741;
double r37743 = r37705 * r37742;
double r37744 = r37738 - r37743;
double r37745 = fma(r37705, r37737, r37744);
double r37746 = r37707 / r37745;
double r37747 = r37717 ? r37734 : r37746;
double r37748 = r37704 ? r37715 : r37747;
return r37748;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -4.107580994870799e+79Initial program 48.5
Taylor expanded around inf 47.7
Simplified47.7
Taylor expanded around -inf 3.4
if -4.107580994870799e+79 < t < 8.563096781276282e+104Initial program 37.7
Taylor expanded around inf 17.8
Simplified17.8
rmApplied unpow217.8
Applied associate-/l*13.6
rmApplied add-sqr-sqrt13.6
Applied sqrt-prod13.7
Applied associate-*l*13.6
rmApplied add-sqr-sqrt13.6
Applied sqrt-prod13.6
Applied sqrt-prod13.6
Applied associate-*l*13.6
if 8.563096781276282e+104 < t Initial program 50.4
Taylor expanded around inf 3.0
Simplified3.0
Final simplification9.2
herbie shell --seed 2019356 +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)))))