\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\begin{array}{l}
\mathbf{if}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 0.0:\\
\;\;\;\;\sqrt{U \cdot \left(\left(\left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot n\right) \cdot 2\right)}\\
\mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.183773712422273433088837706435118557278 \cdot 10^{294}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(U - U*\right) \cdot \left(\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot 2} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2812481 = 2.0;
double r2812482 = n;
double r2812483 = r2812481 * r2812482;
double r2812484 = U;
double r2812485 = r2812483 * r2812484;
double r2812486 = t;
double r2812487 = l;
double r2812488 = r2812487 * r2812487;
double r2812489 = Om;
double r2812490 = r2812488 / r2812489;
double r2812491 = r2812481 * r2812490;
double r2812492 = r2812486 - r2812491;
double r2812493 = r2812487 / r2812489;
double r2812494 = pow(r2812493, r2812481);
double r2812495 = r2812482 * r2812494;
double r2812496 = U_;
double r2812497 = r2812484 - r2812496;
double r2812498 = r2812495 * r2812497;
double r2812499 = r2812492 - r2812498;
double r2812500 = r2812485 * r2812499;
double r2812501 = sqrt(r2812500);
return r2812501;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2812502 = 2.0;
double r2812503 = n;
double r2812504 = r2812502 * r2812503;
double r2812505 = U;
double r2812506 = r2812504 * r2812505;
double r2812507 = t;
double r2812508 = l;
double r2812509 = r2812508 * r2812508;
double r2812510 = Om;
double r2812511 = r2812509 / r2812510;
double r2812512 = r2812511 * r2812502;
double r2812513 = r2812507 - r2812512;
double r2812514 = r2812508 / r2812510;
double r2812515 = pow(r2812514, r2812502);
double r2812516 = r2812503 * r2812515;
double r2812517 = U_;
double r2812518 = r2812505 - r2812517;
double r2812519 = r2812516 * r2812518;
double r2812520 = r2812513 - r2812519;
double r2812521 = r2812506 * r2812520;
double r2812522 = 0.0;
bool r2812523 = r2812521 <= r2812522;
double r2812524 = r2812502 * r2812508;
double r2812525 = 2.0;
double r2812526 = r2812502 / r2812525;
double r2812527 = pow(r2812514, r2812526);
double r2812528 = r2812518 * r2812527;
double r2812529 = 1.0;
double r2812530 = r2812529 / r2812510;
double r2812531 = pow(r2812530, r2812526);
double r2812532 = pow(r2812508, r2812526);
double r2812533 = r2812503 * r2812532;
double r2812534 = r2812531 * r2812533;
double r2812535 = r2812528 * r2812534;
double r2812536 = fma(r2812514, r2812524, r2812535);
double r2812537 = r2812507 - r2812536;
double r2812538 = r2812537 * r2812503;
double r2812539 = r2812538 * r2812502;
double r2812540 = r2812505 * r2812539;
double r2812541 = sqrt(r2812540);
double r2812542 = 1.1837737124222734e+294;
bool r2812543 = r2812521 <= r2812542;
double r2812544 = sqrt(r2812521);
double r2812545 = r2812527 * r2812503;
double r2812546 = r2812545 * r2812527;
double r2812547 = r2812518 * r2812546;
double r2812548 = fma(r2812514, r2812524, r2812547);
double r2812549 = r2812507 - r2812548;
double r2812550 = r2812503 * r2812549;
double r2812551 = r2812550 * r2812502;
double r2812552 = sqrt(r2812551);
double r2812553 = sqrt(r2812505);
double r2812554 = r2812552 * r2812553;
double r2812555 = r2812543 ? r2812544 : r2812554;
double r2812556 = r2812523 ? r2812541 : r2812555;
return r2812556;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 0.0Initial program 57.1
Simplified40.4
rmApplied sqr-pow40.4
Applied associate-*r*38.1
rmApplied associate-*l*38.0
rmApplied div-inv38.0
Applied unpow-prod-down38.0
Applied associate-*r*38.4
if 0.0 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 1.1837737124222734e+294Initial program 1.7
if 1.1837737124222734e+294 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) Initial program 62.8
Simplified55.0
rmApplied sqr-pow55.0
Applied associate-*r*53.9
rmApplied sqrt-prod54.0
Final simplification28.1
herbie shell --seed 2019170 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))