\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 -6.215042401537606 \cdot 10^{+109}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(\left(\frac{\frac{2}{x}}{x}\right), \left(\frac{\frac{t}{\sqrt{2}}}{2}\right), \left(-\mathsf{fma}\left(\left(\frac{2}{x}\right), \left(\frac{t}{\sqrt{2}}\right), \left(\sqrt{2} \cdot t\right)\right)\right)\right)}\\
\mathbf{elif}\;t \le -2.0085308378865194 \cdot 10^{-143}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(\left(t \cdot t\right), 2, \left(\mathsf{fma}\left(\left(\frac{t \cdot t}{x}\right), 4, \left(\frac{\ell \cdot \sqrt{2}}{x} \cdot \left(\ell \cdot \sqrt{2}\right)\right)\right)\right)\right)}}\\
\mathbf{elif}\;t \le -4.903859847993851 \cdot 10^{-271}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)} - \mathsf{fma}\left(\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right), 2, \left(\mathsf{fma}\left(t, \left(\sqrt{2}\right), \left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right)\right)\right)\right)}\\
\mathbf{elif}\;t \le 1.2558204415951766 \cdot 10^{-249}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(\left(t \cdot t\right), 2, \left(\mathsf{fma}\left(\left(\frac{t \cdot t}{x}\right), 4, \left(\frac{\ell \cdot \sqrt{2}}{x} \cdot \left(\ell \cdot \sqrt{2}\right)\right)\right)\right)\right)}}\\
\mathbf{elif}\;t \le 5.4024136247167366 \cdot 10^{-161}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right), 2, \left(\mathsf{fma}\left(t, \left(\sqrt{2}\right), \left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right)\right)\right)\right) - \frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)}}\\
\mathbf{elif}\;t \le 4.930352686166445 \cdot 10^{+153}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(\left(t \cdot t\right), 2, \left(\mathsf{fma}\left(\left(\frac{t \cdot t}{x}\right), 4, \left(\frac{\ell \cdot \sqrt{2}}{x} \cdot \left(\ell \cdot \sqrt{2}\right)\right)\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(\left(\frac{\frac{t}{\sqrt{2}}}{x \cdot x}\right), 2, \left(\mathsf{fma}\left(t, \left(\sqrt{2}\right), \left(\frac{t}{\sqrt{2}} \cdot \frac{2}{x}\right)\right)\right)\right) - \frac{2 \cdot t}{\left(2 \cdot \sqrt{2}\right) \cdot \left(x \cdot x\right)}}\\
\end{array}double f(double x, double l, double t) {
double r819223 = 2.0;
double r819224 = sqrt(r819223);
double r819225 = t;
double r819226 = r819224 * r819225;
double r819227 = x;
double r819228 = 1.0;
double r819229 = r819227 + r819228;
double r819230 = r819227 - r819228;
double r819231 = r819229 / r819230;
double r819232 = l;
double r819233 = r819232 * r819232;
double r819234 = r819225 * r819225;
double r819235 = r819223 * r819234;
double r819236 = r819233 + r819235;
double r819237 = r819231 * r819236;
double r819238 = r819237 - r819233;
double r819239 = sqrt(r819238);
double r819240 = r819226 / r819239;
return r819240;
}
double f(double x, double l, double t) {
double r819241 = t;
double r819242 = -6.215042401537606e+109;
bool r819243 = r819241 <= r819242;
double r819244 = 2.0;
double r819245 = sqrt(r819244);
double r819246 = r819245 * r819241;
double r819247 = x;
double r819248 = r819244 / r819247;
double r819249 = r819248 / r819247;
double r819250 = r819241 / r819245;
double r819251 = r819250 / r819244;
double r819252 = fma(r819248, r819250, r819246);
double r819253 = -r819252;
double r819254 = fma(r819249, r819251, r819253);
double r819255 = r819246 / r819254;
double r819256 = -2.0085308378865194e-143;
bool r819257 = r819241 <= r819256;
double r819258 = r819241 * r819241;
double r819259 = r819258 / r819247;
double r819260 = 4.0;
double r819261 = l;
double r819262 = r819261 * r819245;
double r819263 = r819262 / r819247;
double r819264 = r819263 * r819262;
double r819265 = fma(r819259, r819260, r819264);
double r819266 = fma(r819258, r819244, r819265);
double r819267 = sqrt(r819266);
double r819268 = r819246 / r819267;
double r819269 = -4.903859847993851e-271;
bool r819270 = r819241 <= r819269;
double r819271 = r819244 * r819241;
double r819272 = r819244 * r819245;
double r819273 = r819247 * r819247;
double r819274 = r819272 * r819273;
double r819275 = r819271 / r819274;
double r819276 = r819250 / r819273;
double r819277 = r819250 * r819248;
double r819278 = fma(r819241, r819245, r819277);
double r819279 = fma(r819276, r819244, r819278);
double r819280 = r819275 - r819279;
double r819281 = r819246 / r819280;
double r819282 = 1.2558204415951766e-249;
bool r819283 = r819241 <= r819282;
double r819284 = 5.4024136247167366e-161;
bool r819285 = r819241 <= r819284;
double r819286 = r819279 - r819275;
double r819287 = r819246 / r819286;
double r819288 = 4.930352686166445e+153;
bool r819289 = r819241 <= r819288;
double r819290 = r819289 ? r819268 : r819287;
double r819291 = r819285 ? r819287 : r819290;
double r819292 = r819283 ? r819268 : r819291;
double r819293 = r819270 ? r819281 : r819292;
double r819294 = r819257 ? r819268 : r819293;
double r819295 = r819243 ? r819255 : r819294;
return r819295;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -6.215042401537606e+109Initial program 52.6
Taylor expanded around -inf 52.6
Simplified52.6
rmApplied div-inv52.6
Applied times-frac51.1
Simplified51.1
Taylor expanded around -inf 3.1
Simplified3.1
if -6.215042401537606e+109 < t < -2.0085308378865194e-143 or -4.903859847993851e-271 < t < 1.2558204415951766e-249 or 5.4024136247167366e-161 < t < 4.930352686166445e+153Initial program 27.2
Taylor expanded around -inf 12.3
Simplified12.3
rmApplied add-sqr-sqrt12.3
Applied *-un-lft-identity12.3
Applied times-frac12.3
Applied times-frac7.3
Simplified7.3
Simplified7.3
if -2.0085308378865194e-143 < t < -4.903859847993851e-271Initial program 58.8
Taylor expanded around -inf 32.7
Simplified32.7
if 1.2558204415951766e-249 < t < 5.4024136247167366e-161 or 4.930352686166445e+153 < t Initial program 61.8
Taylor expanded around inf 10.3
Simplified10.3
Final simplification9.2
herbie shell --seed 2019130 +o rules:numerics
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))