\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}\;U \le 1.0337592973629363 \cdot 10^{-288}:\\
\;\;\;\;\sqrt{\left(2 \cdot U\right) \cdot \left(n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{n \cdot \left(t - \left(\left(2 \cdot \frac{\ell}{Om}\right) \cdot \ell + \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(\frac{\ell}{Om} \cdot \left(U - U*\right)\right)\right)\right)} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r903480 = 2.0;
double r903481 = n;
double r903482 = r903480 * r903481;
double r903483 = U;
double r903484 = r903482 * r903483;
double r903485 = t;
double r903486 = l;
double r903487 = r903486 * r903486;
double r903488 = Om;
double r903489 = r903487 / r903488;
double r903490 = r903480 * r903489;
double r903491 = r903485 - r903490;
double r903492 = r903486 / r903488;
double r903493 = pow(r903492, r903480);
double r903494 = r903481 * r903493;
double r903495 = U_;
double r903496 = r903483 - r903495;
double r903497 = r903494 * r903496;
double r903498 = r903491 - r903497;
double r903499 = r903484 * r903498;
double r903500 = sqrt(r903499);
return r903500;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r903501 = U;
double r903502 = 1.0337592973629363e-288;
bool r903503 = r903501 <= r903502;
double r903504 = 2.0;
double r903505 = r903504 * r903501;
double r903506 = n;
double r903507 = t;
double r903508 = l;
double r903509 = Om;
double r903510 = r903508 / r903509;
double r903511 = r903504 * r903510;
double r903512 = r903511 * r903508;
double r903513 = r903510 * r903506;
double r903514 = U_;
double r903515 = r903501 - r903514;
double r903516 = r903510 * r903515;
double r903517 = r903513 * r903516;
double r903518 = r903512 + r903517;
double r903519 = r903507 - r903518;
double r903520 = r903506 * r903519;
double r903521 = r903505 * r903520;
double r903522 = sqrt(r903521);
double r903523 = sqrt(r903520);
double r903524 = sqrt(r903505);
double r903525 = r903523 * r903524;
double r903526 = r903503 ? r903522 : r903525;
return r903526;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if U < 1.0337592973629363e-288Initial program 33.5
Simplified30.0
rmApplied associate-*l*30.3
if 1.0337592973629363e-288 < U Initial program 33.1
Simplified29.2
rmApplied associate-*l*29.3
rmApplied sqrt-prod22.0
Final simplification26.3
herbie shell --seed 2019153
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))