\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}\;t \le 11096816485837592842858507119229692542980:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r195808 = 2.0;
double r195809 = n;
double r195810 = r195808 * r195809;
double r195811 = U;
double r195812 = r195810 * r195811;
double r195813 = t;
double r195814 = l;
double r195815 = r195814 * r195814;
double r195816 = Om;
double r195817 = r195815 / r195816;
double r195818 = r195808 * r195817;
double r195819 = r195813 - r195818;
double r195820 = r195814 / r195816;
double r195821 = pow(r195820, r195808);
double r195822 = r195809 * r195821;
double r195823 = U_;
double r195824 = r195811 - r195823;
double r195825 = r195822 * r195824;
double r195826 = r195819 - r195825;
double r195827 = r195812 * r195826;
double r195828 = sqrt(r195827);
return r195828;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r195829 = t;
double r195830 = 1.1096816485837593e+40;
bool r195831 = r195829 <= r195830;
double r195832 = 2.0;
double r195833 = n;
double r195834 = r195832 * r195833;
double r195835 = U;
double r195836 = r195834 * r195835;
double r195837 = l;
double r195838 = Om;
double r195839 = r195837 / r195838;
double r195840 = r195837 * r195839;
double r195841 = r195832 * r195840;
double r195842 = r195829 - r195841;
double r195843 = 2.0;
double r195844 = r195832 / r195843;
double r195845 = pow(r195839, r195844);
double r195846 = r195833 * r195845;
double r195847 = U_;
double r195848 = r195835 - r195847;
double r195849 = r195845 * r195848;
double r195850 = r195846 * r195849;
double r195851 = r195842 - r195850;
double r195852 = r195836 * r195851;
double r195853 = sqrt(r195852);
double r195854 = sqrt(r195836);
double r195855 = pow(r195839, r195832);
double r195856 = r195833 * r195855;
double r195857 = r195856 * r195848;
double r195858 = r195842 - r195857;
double r195859 = sqrt(r195858);
double r195860 = r195854 * r195859;
double r195861 = r195831 ? r195853 : r195860;
return r195861;
}



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 t < 1.1096816485837593e+40Initial program 34.1
rmApplied *-un-lft-identity34.1
Applied times-frac31.4
Simplified31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
rmApplied associate-*l*30.4
if 1.1096816485837593e+40 < t Initial program 34.5
rmApplied *-un-lft-identity34.5
Applied times-frac31.7
Simplified31.7
rmApplied sqrt-prod25.7
Final simplification29.3
herbie shell --seed 2019304
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
:precision binary64
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))