\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 -3.67406841218315985 \cdot 10^{85}:\\
\;\;\;\;\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) - \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le -2.10932377839678249 \cdot 10^{-178}:\\
\;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, t \cdot t, \mathsf{fma}\left(2, \ell \cdot \frac{\ell}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -5.0733881302293798 \cdot 10^{-287}:\\
\;\;\;\;\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) - \mathsf{fma}\left(2, \frac{t}{\sqrt{2} \cdot x}, t \cdot \sqrt{2}\right)}\\
\mathbf{elif}\;t \le 6.76918902262626632 \cdot 10^{24}:\\
\;\;\;\;\frac{\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot t\right)}{\sqrt{\mathsf{fma}\left(2, t \cdot t, \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(t, \sqrt{2}, 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r39978 = 2.0;
double r39979 = sqrt(r39978);
double r39980 = t;
double r39981 = r39979 * r39980;
double r39982 = x;
double r39983 = 1.0;
double r39984 = r39982 + r39983;
double r39985 = r39982 - r39983;
double r39986 = r39984 / r39985;
double r39987 = l;
double r39988 = r39987 * r39987;
double r39989 = r39980 * r39980;
double r39990 = r39978 * r39989;
double r39991 = r39988 + r39990;
double r39992 = r39986 * r39991;
double r39993 = r39992 - r39988;
double r39994 = sqrt(r39993);
double r39995 = r39981 / r39994;
return r39995;
}
double f(double x, double l, double t) {
double r39996 = t;
double r39997 = -3.67406841218316e+85;
bool r39998 = r39996 <= r39997;
double r39999 = 2.0;
double r40000 = sqrt(r39999);
double r40001 = r40000 * r39996;
double r40002 = 3.0;
double r40003 = pow(r40000, r40002);
double r40004 = x;
double r40005 = 2.0;
double r40006 = pow(r40004, r40005);
double r40007 = r40003 * r40006;
double r40008 = r39996 / r40007;
double r40009 = r40000 * r40006;
double r40010 = r39996 / r40009;
double r40011 = r40008 - r40010;
double r40012 = r39999 * r40011;
double r40013 = r40000 * r40004;
double r40014 = r39996 / r40013;
double r40015 = r39996 * r40000;
double r40016 = fma(r39999, r40014, r40015);
double r40017 = r40012 - r40016;
double r40018 = r40001 / r40017;
double r40019 = -2.1093237783967825e-178;
bool r40020 = r39996 <= r40019;
double r40021 = sqrt(r40000);
double r40022 = r40021 * r39996;
double r40023 = r40021 * r40022;
double r40024 = r39996 * r39996;
double r40025 = l;
double r40026 = r40025 / r40004;
double r40027 = r40025 * r40026;
double r40028 = 4.0;
double r40029 = pow(r39996, r40005);
double r40030 = r40029 / r40004;
double r40031 = r40028 * r40030;
double r40032 = fma(r39999, r40027, r40031);
double r40033 = fma(r39999, r40024, r40032);
double r40034 = sqrt(r40033);
double r40035 = r40023 / r40034;
double r40036 = -5.07338813022938e-287;
bool r40037 = r39996 <= r40036;
double r40038 = 6.769189022626266e+24;
bool r40039 = r39996 <= r40038;
double r40040 = r39999 * r40014;
double r40041 = fma(r39996, r40000, r40040);
double r40042 = r40001 / r40041;
double r40043 = r40039 ? r40035 : r40042;
double r40044 = r40037 ? r40018 : r40043;
double r40045 = r40020 ? r40035 : r40044;
double r40046 = r39998 ? r40018 : r40045;
return r40046;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -3.67406841218316e+85 or -2.1093237783967825e-178 < t < -5.07338813022938e-287Initial program 53.7
Taylor expanded around -inf 11.8
Simplified11.8
if -3.67406841218316e+85 < t < -2.1093237783967825e-178 or -5.07338813022938e-287 < t < 6.769189022626266e+24Initial program 38.4
Taylor expanded around inf 16.0
Simplified16.0
rmApplied *-un-lft-identity16.0
Applied add-sqr-sqrt40.3
Applied unpow-prod-down40.3
Applied times-frac38.1
Simplified38.1
Simplified11.7
rmApplied add-sqr-sqrt11.7
Applied sqrt-prod11.9
Applied associate-*l*11.8
if 6.769189022626266e+24 < t Initial program 41.9
Taylor expanded around inf 39.8
Simplified39.8
Taylor expanded around inf 4.3
Simplified4.3
Final simplification9.8
herbie shell --seed 2020047 +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)))))