\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 -9.08139926738047778665805587012535478696 \cdot 10^{119}:\\
\;\;\;\;\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.717325602255105391249199836150113426187 \cdot 10^{-155}:\\
\;\;\;\;\frac{1 \cdot \left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{x}, 4 \cdot \frac{{t}^{2}}{x}\right)\right)}}\\
\mathbf{elif}\;t \le -2.531223176821921194567194602536004833629 \cdot 10^{-239}:\\
\;\;\;\;\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.183338124240532478723835606202742459097 \cdot 10^{138}:\\
\;\;\;\;\frac{1 \cdot \left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(\sqrt[3]{\sqrt{2}} \cdot t\right)\right)}{\sqrt{\mathsf{fma}\left(2, {t}^{2}, \mathsf{fma}\left(2, \left|\ell\right| \cdot \frac{\left|\ell\right|}{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 r36137 = 2.0;
double r36138 = sqrt(r36137);
double r36139 = t;
double r36140 = r36138 * r36139;
double r36141 = x;
double r36142 = 1.0;
double r36143 = r36141 + r36142;
double r36144 = r36141 - r36142;
double r36145 = r36143 / r36144;
double r36146 = l;
double r36147 = r36146 * r36146;
double r36148 = r36139 * r36139;
double r36149 = r36137 * r36148;
double r36150 = r36147 + r36149;
double r36151 = r36145 * r36150;
double r36152 = r36151 - r36147;
double r36153 = sqrt(r36152);
double r36154 = r36140 / r36153;
return r36154;
}
double f(double x, double l, double t) {
double r36155 = t;
double r36156 = -9.081399267380478e+119;
bool r36157 = r36155 <= r36156;
double r36158 = 2.0;
double r36159 = sqrt(r36158);
double r36160 = r36159 * r36155;
double r36161 = 3.0;
double r36162 = pow(r36159, r36161);
double r36163 = x;
double r36164 = 2.0;
double r36165 = pow(r36163, r36164);
double r36166 = r36162 * r36165;
double r36167 = r36155 / r36166;
double r36168 = r36159 * r36165;
double r36169 = r36155 / r36168;
double r36170 = r36159 * r36163;
double r36171 = r36155 / r36170;
double r36172 = r36155 * r36159;
double r36173 = fma(r36158, r36171, r36172);
double r36174 = fma(r36158, r36169, r36173);
double r36175 = -r36174;
double r36176 = fma(r36158, r36167, r36175);
double r36177 = r36160 / r36176;
double r36178 = -1.7173256022551054e-155;
bool r36179 = r36155 <= r36178;
double r36180 = 1.0;
double r36181 = cbrt(r36159);
double r36182 = r36181 * r36181;
double r36183 = r36181 * r36155;
double r36184 = r36182 * r36183;
double r36185 = r36180 * r36184;
double r36186 = pow(r36155, r36164);
double r36187 = l;
double r36188 = fabs(r36187);
double r36189 = r36188 / r36163;
double r36190 = r36188 * r36189;
double r36191 = 4.0;
double r36192 = r36186 / r36163;
double r36193 = r36191 * r36192;
double r36194 = fma(r36158, r36190, r36193);
double r36195 = fma(r36158, r36186, r36194);
double r36196 = sqrt(r36195);
double r36197 = r36185 / r36196;
double r36198 = -2.531223176821921e-239;
bool r36199 = r36155 <= r36198;
double r36200 = 1.1833381242405325e+138;
bool r36201 = r36155 <= r36200;
double r36202 = r36158 * r36167;
double r36203 = r36173 - r36202;
double r36204 = fma(r36158, r36169, r36203);
double r36205 = r36160 / r36204;
double r36206 = r36201 ? r36197 : r36205;
double r36207 = r36199 ? r36177 : r36206;
double r36208 = r36179 ? r36197 : r36207;
double r36209 = r36157 ? r36177 : r36208;
return r36209;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -9.081399267380478e+119 or -1.7173256022551054e-155 < t < -2.531223176821921e-239Initial program 55.9
Taylor expanded around -inf 8.1
Simplified8.1
if -9.081399267380478e+119 < t < -1.7173256022551054e-155 or -2.531223176821921e-239 < t < 1.1833381242405325e+138Initial program 34.2
Taylor expanded around inf 15.1
Simplified15.1
rmApplied *-un-lft-identity15.1
Applied add-sqr-sqrt15.1
Applied times-frac15.0
Simplified15.0
Simplified10.7
rmApplied add-cube-cbrt10.7
Applied associate-*l*10.6
rmApplied *-un-lft-identity10.6
if 1.1833381242405325e+138 < t Initial program 57.8
Taylor expanded around inf 2.0
Simplified2.0
Final simplification8.5
herbie shell --seed 2020002 +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)))))