\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 -8.761276549602833524386767464963015900073 \cdot 10^{-54}:\\
\;\;\;\;\sqrt{\left(\left(\left(\left(U* - U\right) \cdot \left(\left(\left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right) + t\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\
\mathbf{elif}\;U \le 1.188289134364555924225184345803502950244 \cdot 10^{-207}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t + \left(\left(U* - U\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right)\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t + \left(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U* - U\right) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right)\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3402684 = 2.0;
double r3402685 = n;
double r3402686 = r3402684 * r3402685;
double r3402687 = U;
double r3402688 = r3402686 * r3402687;
double r3402689 = t;
double r3402690 = l;
double r3402691 = r3402690 * r3402690;
double r3402692 = Om;
double r3402693 = r3402691 / r3402692;
double r3402694 = r3402684 * r3402693;
double r3402695 = r3402689 - r3402694;
double r3402696 = r3402690 / r3402692;
double r3402697 = pow(r3402696, r3402684);
double r3402698 = r3402685 * r3402697;
double r3402699 = U_;
double r3402700 = r3402687 - r3402699;
double r3402701 = r3402698 * r3402700;
double r3402702 = r3402695 - r3402701;
double r3402703 = r3402688 * r3402702;
double r3402704 = sqrt(r3402703);
return r3402704;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3402705 = U;
double r3402706 = -8.761276549602834e-54;
bool r3402707 = r3402705 <= r3402706;
double r3402708 = U_;
double r3402709 = r3402708 - r3402705;
double r3402710 = n;
double r3402711 = l;
double r3402712 = 2.0;
double r3402713 = 2.0;
double r3402714 = r3402712 / r3402713;
double r3402715 = pow(r3402711, r3402714);
double r3402716 = r3402710 * r3402715;
double r3402717 = 1.0;
double r3402718 = Om;
double r3402719 = r3402717 / r3402718;
double r3402720 = pow(r3402719, r3402714);
double r3402721 = r3402716 * r3402720;
double r3402722 = r3402711 / r3402718;
double r3402723 = pow(r3402722, r3402714);
double r3402724 = r3402721 * r3402723;
double r3402725 = r3402709 * r3402724;
double r3402726 = r3402712 * r3402711;
double r3402727 = r3402722 * r3402726;
double r3402728 = r3402725 - r3402727;
double r3402729 = t;
double r3402730 = r3402728 + r3402729;
double r3402731 = r3402712 * r3402710;
double r3402732 = r3402730 * r3402731;
double r3402733 = r3402732 * r3402705;
double r3402734 = sqrt(r3402733);
double r3402735 = 1.188289134364556e-207;
bool r3402736 = r3402705 <= r3402735;
double r3402737 = r3402710 * r3402723;
double r3402738 = r3402723 * r3402737;
double r3402739 = r3402709 * r3402738;
double r3402740 = r3402739 - r3402727;
double r3402741 = r3402729 + r3402740;
double r3402742 = r3402741 * r3402705;
double r3402743 = r3402731 * r3402742;
double r3402744 = sqrt(r3402743);
double r3402745 = pow(r3402722, r3402712);
double r3402746 = r3402710 * r3402745;
double r3402747 = r3402746 * r3402709;
double r3402748 = r3402747 - r3402727;
double r3402749 = r3402729 + r3402748;
double r3402750 = r3402749 * r3402731;
double r3402751 = sqrt(r3402750);
double r3402752 = sqrt(r3402705);
double r3402753 = r3402751 * r3402752;
double r3402754 = r3402736 ? r3402744 : r3402753;
double r3402755 = r3402707 ? r3402734 : r3402754;
return r3402755;
}



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 < -8.761276549602834e-54Initial program 28.9
Simplified27.1
rmApplied sqr-pow27.1
Applied associate-*r*26.4
rmApplied div-inv26.4
Applied unpow-prod-down26.4
Applied associate-*r*26.9
if -8.761276549602834e-54 < U < 1.188289134364556e-207Initial program 40.5
Simplified37.1
rmApplied sqr-pow37.1
Applied associate-*r*35.7
rmApplied associate-*l*31.4
if 1.188289134364556e-207 < U Initial program 31.0
Simplified29.1
rmApplied sqrt-prod23.4
Final simplification27.2
herbie shell --seed 2019192
(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*))))))