\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}\;n \le -2.9078355181208308 \cdot 10^{-49}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(\left(U \cdot 2\right) \cdot n\right)}\\
\mathbf{elif}\;n \le 8.345471985498696 \cdot 10^{-126}:\\
\;\;\;\;\sqrt{\left(U \cdot 2\right) \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(U - U*\right) \cdot \frac{\left(\ell \cdot \frac{\ell}{Om}\right) \cdot n}{Om}\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot \left(\left(U \cdot 2\right) \cdot n\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2220748 = 2.0;
double r2220749 = n;
double r2220750 = r2220748 * r2220749;
double r2220751 = U;
double r2220752 = r2220750 * r2220751;
double r2220753 = t;
double r2220754 = l;
double r2220755 = r2220754 * r2220754;
double r2220756 = Om;
double r2220757 = r2220755 / r2220756;
double r2220758 = r2220748 * r2220757;
double r2220759 = r2220753 - r2220758;
double r2220760 = r2220754 / r2220756;
double r2220761 = pow(r2220760, r2220748);
double r2220762 = r2220749 * r2220761;
double r2220763 = U_;
double r2220764 = r2220751 - r2220763;
double r2220765 = r2220762 * r2220764;
double r2220766 = r2220759 - r2220765;
double r2220767 = r2220752 * r2220766;
double r2220768 = sqrt(r2220767);
return r2220768;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2220769 = n;
double r2220770 = -2.9078355181208308e-49;
bool r2220771 = r2220769 <= r2220770;
double r2220772 = t;
double r2220773 = l;
double r2220774 = Om;
double r2220775 = r2220773 / r2220774;
double r2220776 = 2.0;
double r2220777 = r2220776 * r2220773;
double r2220778 = r2220775 * r2220775;
double r2220779 = r2220778 * r2220769;
double r2220780 = U;
double r2220781 = U_;
double r2220782 = r2220780 - r2220781;
double r2220783 = r2220779 * r2220782;
double r2220784 = fma(r2220775, r2220777, r2220783);
double r2220785 = r2220772 - r2220784;
double r2220786 = r2220780 * r2220776;
double r2220787 = r2220786 * r2220769;
double r2220788 = r2220785 * r2220787;
double r2220789 = sqrt(r2220788);
double r2220790 = 8.345471985498696e-126;
bool r2220791 = r2220769 <= r2220790;
double r2220792 = r2220773 * r2220775;
double r2220793 = r2220792 * r2220769;
double r2220794 = r2220793 / r2220774;
double r2220795 = r2220782 * r2220794;
double r2220796 = fma(r2220775, r2220777, r2220795);
double r2220797 = r2220772 - r2220796;
double r2220798 = r2220769 * r2220797;
double r2220799 = r2220786 * r2220798;
double r2220800 = sqrt(r2220799);
double r2220801 = r2220791 ? r2220800 : r2220789;
double r2220802 = r2220771 ? r2220789 : r2220801;
return r2220802;
}



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 n < -2.9078355181208308e-49 or 8.345471985498696e-126 < n Initial program 30.6
Simplified31.5
rmApplied associate-*r*28.1
if -2.9078355181208308e-49 < n < 8.345471985498696e-126Initial program 35.7
Simplified29.3
rmApplied associate-*r/29.3
Applied associate-*r/28.3
Final simplification28.2
herbie shell --seed 2019130 +o rules:numerics
(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*))))))