\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 r1593622 = 2.0;
double r1593623 = n;
double r1593624 = r1593622 * r1593623;
double r1593625 = U;
double r1593626 = r1593624 * r1593625;
double r1593627 = t;
double r1593628 = l;
double r1593629 = r1593628 * r1593628;
double r1593630 = Om;
double r1593631 = r1593629 / r1593630;
double r1593632 = r1593622 * r1593631;
double r1593633 = r1593627 - r1593632;
double r1593634 = r1593628 / r1593630;
double r1593635 = pow(r1593634, r1593622);
double r1593636 = r1593623 * r1593635;
double r1593637 = U_;
double r1593638 = r1593625 - r1593637;
double r1593639 = r1593636 * r1593638;
double r1593640 = r1593633 - r1593639;
double r1593641 = r1593626 * r1593640;
double r1593642 = sqrt(r1593641);
return r1593642;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1593643 = U;
double r1593644 = 5.03684981755012e-299;
bool r1593645 = r1593643 <= r1593644;
double r1593646 = n;
double r1593647 = r1593646 * r1593643;
double r1593648 = 2.0;
double r1593649 = t;
double r1593650 = l;
double r1593651 = Om;
double r1593652 = r1593650 / r1593651;
double r1593653 = r1593650 * r1593648;
double r1593654 = r1593651 / r1593650;
double r1593655 = r1593646 / r1593654;
double r1593656 = U_;
double r1593657 = r1593656 - r1593643;
double r1593658 = r1593655 * r1593657;
double r1593659 = r1593653 - r1593658;
double r1593660 = r1593652 * r1593659;
double r1593661 = r1593649 - r1593660;
double r1593662 = r1593648 * r1593661;
double r1593663 = r1593647 * r1593662;
double r1593664 = sqrt(r1593663);
double r1593665 = sqrt(r1593664);
double r1593666 = r1593665 * r1593665;
double r1593667 = sqrt(r1593643);
double r1593668 = r1593646 * r1593662;
double r1593669 = sqrt(r1593668);
double r1593670 = r1593667 * r1593669;
double r1593671 = r1593645 ? r1593666 : r1593670;
return r1593671;
}



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*))))))