\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 -1.235121765864116 \cdot 10^{+102}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(\frac{t}{\sqrt{2}}, \frac{2}{\left(x \cdot x\right) \cdot 2}, \frac{-2}{\frac{x}{\frac{t}{\sqrt{2}}}}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le -6.488460202761919 \cdot 10^{-152}:\\
\;\;\;\;\frac{\left(\sqrt{\sqrt{\sqrt{2}}} \cdot \left(t \cdot \sqrt{\sqrt{2}}\right)\right) \cdot \sqrt{\sqrt{\sqrt{2}}}}{\sqrt{\mathsf{fma}\left(2, t \cdot t, \mathsf{fma}\left(\frac{t \cdot t}{x}, 4, 2 \cdot \left(\ell \cdot \frac{\ell}{x}\right)\right)\right)}}\\
\mathbf{elif}\;t \le -1.8789547767602823 \cdot 10^{-244}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(\frac{t}{\sqrt{2}}, \frac{2}{\left(x \cdot x\right) \cdot 2}, \frac{-2}{\frac{x}{\frac{t}{\sqrt{2}}}}\right) - \sqrt{2} \cdot t}\\
\mathbf{elif}\;t \le 1.1951227663536998 \cdot 10^{-222}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\mathsf{fma}\left(2, t \cdot t, \mathsf{fma}\left(\frac{t \cdot t}{x}, 4, 2 \cdot \frac{\frac{\ell \cdot \ell}{\sqrt{x}}}{\sqrt{x}}\right)\right)}}\\
\mathbf{elif}\;t \le 2.776222986329393 \cdot 10^{-161}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(-2, \frac{\frac{\frac{t}{\sqrt{2}}}{2}}{x \cdot x}, \mathsf{fma}\left(\frac{2}{x}, \frac{t}{\sqrt{2}}, \mathsf{fma}\left(t, \sqrt{2}, \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}\right)\right)\right)}\\
\mathbf{elif}\;t \le 1.4996133926227848 \cdot 10^{+124}:\\
\;\;\;\;\frac{\left(\sqrt{\sqrt{\sqrt{2}}} \cdot \left(t \cdot \sqrt{\sqrt{2}}\right)\right) \cdot \sqrt{\sqrt{\sqrt{2}}}}{\sqrt{\mathsf{fma}\left(2, t \cdot t, \mathsf{fma}\left(\frac{t \cdot t}{x}, 4, 2 \cdot \left(\ell \cdot \frac{\ell}{x}\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\mathsf{fma}\left(-2, \frac{\frac{\frac{t}{\sqrt{2}}}{2}}{x \cdot x}, \mathsf{fma}\left(\frac{2}{x}, \frac{t}{\sqrt{2}}, \mathsf{fma}\left(t, \sqrt{2}, \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}\right)\right)\right)}\\
\end{array}double f(double x, double l, double t) {
double r1053267 = 2.0;
double r1053268 = sqrt(r1053267);
double r1053269 = t;
double r1053270 = r1053268 * r1053269;
double r1053271 = x;
double r1053272 = 1.0;
double r1053273 = r1053271 + r1053272;
double r1053274 = r1053271 - r1053272;
double r1053275 = r1053273 / r1053274;
double r1053276 = l;
double r1053277 = r1053276 * r1053276;
double r1053278 = r1053269 * r1053269;
double r1053279 = r1053267 * r1053278;
double r1053280 = r1053277 + r1053279;
double r1053281 = r1053275 * r1053280;
double r1053282 = r1053281 - r1053277;
double r1053283 = sqrt(r1053282);
double r1053284 = r1053270 / r1053283;
return r1053284;
}
double f(double x, double l, double t) {
double r1053285 = t;
double r1053286 = -1.235121765864116e+102;
bool r1053287 = r1053285 <= r1053286;
double r1053288 = 2.0;
double r1053289 = sqrt(r1053288);
double r1053290 = r1053289 * r1053285;
double r1053291 = r1053285 / r1053289;
double r1053292 = x;
double r1053293 = r1053292 * r1053292;
double r1053294 = r1053293 * r1053288;
double r1053295 = r1053288 / r1053294;
double r1053296 = -2.0;
double r1053297 = r1053292 / r1053291;
double r1053298 = r1053296 / r1053297;
double r1053299 = fma(r1053291, r1053295, r1053298);
double r1053300 = r1053299 - r1053290;
double r1053301 = r1053290 / r1053300;
double r1053302 = -6.488460202761919e-152;
bool r1053303 = r1053285 <= r1053302;
double r1053304 = sqrt(r1053289);
double r1053305 = sqrt(r1053304);
double r1053306 = r1053285 * r1053304;
double r1053307 = r1053305 * r1053306;
double r1053308 = r1053307 * r1053305;
double r1053309 = r1053285 * r1053285;
double r1053310 = r1053309 / r1053292;
double r1053311 = 4.0;
double r1053312 = l;
double r1053313 = r1053312 / r1053292;
double r1053314 = r1053312 * r1053313;
double r1053315 = r1053288 * r1053314;
double r1053316 = fma(r1053310, r1053311, r1053315);
double r1053317 = fma(r1053288, r1053309, r1053316);
double r1053318 = sqrt(r1053317);
double r1053319 = r1053308 / r1053318;
double r1053320 = -1.8789547767602823e-244;
bool r1053321 = r1053285 <= r1053320;
double r1053322 = 1.1951227663536998e-222;
bool r1053323 = r1053285 <= r1053322;
double r1053324 = r1053312 * r1053312;
double r1053325 = sqrt(r1053292);
double r1053326 = r1053324 / r1053325;
double r1053327 = r1053326 / r1053325;
double r1053328 = r1053288 * r1053327;
double r1053329 = fma(r1053310, r1053311, r1053328);
double r1053330 = fma(r1053288, r1053309, r1053329);
double r1053331 = sqrt(r1053330);
double r1053332 = r1053290 / r1053331;
double r1053333 = 2.776222986329393e-161;
bool r1053334 = r1053285 <= r1053333;
double r1053335 = r1053291 / r1053288;
double r1053336 = r1053335 / r1053293;
double r1053337 = r1053288 / r1053292;
double r1053338 = r1053291 / r1053292;
double r1053339 = r1053338 * r1053337;
double r1053340 = fma(r1053285, r1053289, r1053339);
double r1053341 = fma(r1053337, r1053291, r1053340);
double r1053342 = fma(r1053296, r1053336, r1053341);
double r1053343 = r1053290 / r1053342;
double r1053344 = 1.4996133926227848e+124;
bool r1053345 = r1053285 <= r1053344;
double r1053346 = r1053345 ? r1053319 : r1053343;
double r1053347 = r1053334 ? r1053343 : r1053346;
double r1053348 = r1053323 ? r1053332 : r1053347;
double r1053349 = r1053321 ? r1053301 : r1053348;
double r1053350 = r1053303 ? r1053319 : r1053349;
double r1053351 = r1053287 ? r1053301 : r1053350;
return r1053351;
}



Bits error versus x



Bits error versus l



Bits error versus t
if t < -1.235121765864116e+102 or -6.488460202761919e-152 < t < -1.8789547767602823e-244Initial program 53.1
Taylor expanded around inf 47.8
Simplified47.8
rmApplied *-un-lft-identity47.8
Applied times-frac45.5
Simplified45.5
Taylor expanded around -inf 9.7
Simplified9.7
if -1.235121765864116e+102 < t < -6.488460202761919e-152 or 2.776222986329393e-161 < t < 1.4996133926227848e+124Initial program 24.7
Taylor expanded around inf 9.8
Simplified9.8
rmApplied *-un-lft-identity9.8
Applied times-frac4.7
Simplified4.7
rmApplied add-sqr-sqrt4.7
Applied sqrt-prod4.9
Applied associate-*l*4.8
rmApplied add-sqr-sqrt4.8
Applied sqrt-prod4.8
Applied sqrt-prod4.8
Applied associate-*l*4.7
if -1.8789547767602823e-244 < t < 1.1951227663536998e-222Initial program 61.5
Taylor expanded around inf 31.4
Simplified31.4
rmApplied add-sqr-sqrt31.6
Applied associate-/r*31.6
if 1.1951227663536998e-222 < t < 2.776222986329393e-161 or 1.4996133926227848e+124 < t Initial program 55.6
Taylor expanded around inf 7.9
Simplified7.9
Final simplification9.1
herbie shell --seed 2019164 +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)))))