\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 5.03684981755012 \cdot 10^{-299}:\\
\;\;\;\;\sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(n \cdot U\right) \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{n \cdot \left(2 \cdot \left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \frac{n}{\frac{Om}{\ell}} \cdot \left(U* - U\right)\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2847527 = 2.0;
double r2847528 = n;
double r2847529 = r2847527 * r2847528;
double r2847530 = U;
double r2847531 = r2847529 * r2847530;
double r2847532 = t;
double r2847533 = l;
double r2847534 = r2847533 * r2847533;
double r2847535 = Om;
double r2847536 = r2847534 / r2847535;
double r2847537 = r2847527 * r2847536;
double r2847538 = r2847532 - r2847537;
double r2847539 = r2847533 / r2847535;
double r2847540 = pow(r2847539, r2847527);
double r2847541 = r2847528 * r2847540;
double r2847542 = U_;
double r2847543 = r2847530 - r2847542;
double r2847544 = r2847541 * r2847543;
double r2847545 = r2847538 - r2847544;
double r2847546 = r2847531 * r2847545;
double r2847547 = sqrt(r2847546);
return r2847547;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2847548 = U;
double r2847549 = 5.03684981755012e-299;
bool r2847550 = r2847548 <= r2847549;
double r2847551 = n;
double r2847552 = r2847551 * r2847548;
double r2847553 = 2.0;
double r2847554 = t;
double r2847555 = l;
double r2847556 = Om;
double r2847557 = r2847555 / r2847556;
double r2847558 = r2847555 * r2847553;
double r2847559 = r2847556 / r2847555;
double r2847560 = r2847551 / r2847559;
double r2847561 = U_;
double r2847562 = r2847561 - r2847548;
double r2847563 = r2847560 * r2847562;
double r2847564 = r2847558 - r2847563;
double r2847565 = r2847557 * r2847564;
double r2847566 = r2847554 - r2847565;
double r2847567 = r2847553 * r2847566;
double r2847568 = r2847552 * r2847567;
double r2847569 = sqrt(r2847568);
double r2847570 = sqrt(r2847569);
double r2847571 = r2847570 * r2847570;
double r2847572 = sqrt(r2847548);
double r2847573 = r2847551 * r2847567;
double r2847574 = sqrt(r2847573);
double r2847575 = r2847572 * r2847574;
double r2847576 = r2847550 ? r2847571 : r2847575;
return r2847576;
}



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 < 5.03684981755012e-299Initial program 33.4
Simplified29.4
rmApplied add-sqr-sqrt29.5
if 5.03684981755012e-299 < U Initial program 32.9
Simplified29.3
rmApplied associate-*l*29.0
rmApplied sqrt-prod22.3
Final simplification26.0
herbie shell --seed 2019138
(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*))))))