\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 -3.55433453182939626 \cdot 10^{25}:\\
\;\;\;\;\sqrt{{\left(\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)\right)}^{1}}\\
\mathbf{elif}\;n \le 1.9689076584264355 \cdot 10^{-151}:\\
\;\;\;\;\sqrt{{\left({\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(-n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)\right)\right) \cdot U\right)}^{1}\right)}^{1}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\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)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r169815 = 2.0;
double r169816 = n;
double r169817 = r169815 * r169816;
double r169818 = U;
double r169819 = r169817 * r169818;
double r169820 = t;
double r169821 = l;
double r169822 = r169821 * r169821;
double r169823 = Om;
double r169824 = r169822 / r169823;
double r169825 = r169815 * r169824;
double r169826 = r169820 - r169825;
double r169827 = r169821 / r169823;
double r169828 = pow(r169827, r169815);
double r169829 = r169816 * r169828;
double r169830 = U_;
double r169831 = r169818 - r169830;
double r169832 = r169829 * r169831;
double r169833 = r169826 - r169832;
double r169834 = r169819 * r169833;
double r169835 = sqrt(r169834);
return r169835;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r169836 = n;
double r169837 = -3.5543345318293963e+25;
bool r169838 = r169836 <= r169837;
double r169839 = 2.0;
double r169840 = r169839 * r169836;
double r169841 = U;
double r169842 = r169840 * r169841;
double r169843 = t;
double r169844 = l;
double r169845 = Om;
double r169846 = r169844 / r169845;
double r169847 = r169844 * r169846;
double r169848 = r169839 * r169847;
double r169849 = r169843 - r169848;
double r169850 = 2.0;
double r169851 = r169839 / r169850;
double r169852 = pow(r169846, r169851);
double r169853 = r169836 * r169852;
double r169854 = U_;
double r169855 = r169841 - r169854;
double r169856 = r169852 * r169855;
double r169857 = r169853 * r169856;
double r169858 = r169849 - r169857;
double r169859 = r169842 * r169858;
double r169860 = 1.0;
double r169861 = pow(r169859, r169860);
double r169862 = sqrt(r169861);
double r169863 = 1.9689076584264355e-151;
bool r169864 = r169836 <= r169863;
double r169865 = r169850 * r169851;
double r169866 = pow(r169846, r169865);
double r169867 = r169836 * r169866;
double r169868 = -r169867;
double r169869 = r169868 * r169855;
double r169870 = r169848 - r169869;
double r169871 = r169843 - r169870;
double r169872 = r169840 * r169871;
double r169873 = r169872 * r169841;
double r169874 = pow(r169873, r169860);
double r169875 = pow(r169874, r169860);
double r169876 = sqrt(r169875);
double r169877 = pow(r169846, r169839);
double r169878 = r169836 * r169877;
double r169879 = r169878 * r169855;
double r169880 = r169849 - r169879;
double r169881 = r169841 * r169880;
double r169882 = r169840 * r169881;
double r169883 = sqrt(r169882);
double r169884 = r169864 ? r169876 : r169883;
double r169885 = r169838 ? r169862 : r169884;
return r169885;
}



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 n < -3.5543345318293963e+25Initial program 32.9
rmApplied *-un-lft-identity32.9
Applied times-frac30.9
Simplified30.9
rmApplied sqr-pow30.9
Applied associate-*r*29.6
rmApplied pow129.6
rmApplied associate-*l*28.7
if -3.5543345318293963e+25 < n < 1.9689076584264355e-151Initial program 36.8
rmApplied *-un-lft-identity36.8
Applied times-frac33.7
Simplified33.7
rmApplied sqr-pow33.7
Applied associate-*r*33.2
rmApplied pow133.2
rmApplied pow133.2
Applied pow133.2
Applied pow133.2
Applied pow133.2
Applied pow-prod-down33.2
Applied pow-prod-down33.2
Applied pow-prod-down33.2
Simplified29.3
if 1.9689076584264355e-151 < n Initial program 32.2
rmApplied *-un-lft-identity32.2
Applied times-frac29.7
Simplified29.7
rmApplied associate-*l*30.0
Final simplification29.4
herbie shell --seed 2020056
(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*))))))