\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 1.48807212119155 \cdot 10^{-310}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot n\right) \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(-2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right) + U \cdot t} \cdot \sqrt{2 \cdot n}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r14100785 = 2.0;
double r14100786 = n;
double r14100787 = r14100785 * r14100786;
double r14100788 = U;
double r14100789 = r14100787 * r14100788;
double r14100790 = t;
double r14100791 = l;
double r14100792 = r14100791 * r14100791;
double r14100793 = Om;
double r14100794 = r14100792 / r14100793;
double r14100795 = r14100785 * r14100794;
double r14100796 = r14100790 - r14100795;
double r14100797 = r14100791 / r14100793;
double r14100798 = pow(r14100797, r14100785);
double r14100799 = r14100786 * r14100798;
double r14100800 = U_;
double r14100801 = r14100788 - r14100800;
double r14100802 = r14100799 * r14100801;
double r14100803 = r14100796 - r14100802;
double r14100804 = r14100789 * r14100803;
double r14100805 = sqrt(r14100804);
return r14100805;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r14100806 = n;
double r14100807 = 1.48807212119155e-310;
bool r14100808 = r14100806 <= r14100807;
double r14100809 = 2.0;
double r14100810 = U;
double r14100811 = t;
double r14100812 = l;
double r14100813 = Om;
double r14100814 = r14100812 / r14100813;
double r14100815 = r14100812 * r14100814;
double r14100816 = r14100809 * r14100815;
double r14100817 = r14100811 - r14100816;
double r14100818 = pow(r14100814, r14100809);
double r14100819 = r14100818 * r14100806;
double r14100820 = U_;
double r14100821 = r14100810 - r14100820;
double r14100822 = r14100819 * r14100821;
double r14100823 = r14100817 - r14100822;
double r14100824 = r14100810 * r14100823;
double r14100825 = r14100806 * r14100824;
double r14100826 = r14100809 * r14100825;
double r14100827 = sqrt(r14100826);
double r14100828 = -2.0;
double r14100829 = r14100828 * r14100815;
double r14100830 = r14100806 * r14100814;
double r14100831 = r14100821 * r14100814;
double r14100832 = r14100830 * r14100831;
double r14100833 = r14100829 - r14100832;
double r14100834 = r14100810 * r14100833;
double r14100835 = r14100810 * r14100811;
double r14100836 = r14100834 + r14100835;
double r14100837 = sqrt(r14100836);
double r14100838 = r14100809 * r14100806;
double r14100839 = sqrt(r14100838);
double r14100840 = r14100837 * r14100839;
double r14100841 = r14100808 ? r14100827 : r14100840;
return r14100841;
}



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 < 1.48807212119155e-310Initial program 34.0
rmApplied *-un-lft-identity34.0
Applied times-frac31.4
Simplified31.4
rmApplied associate-*l*31.1
rmApplied associate-*l*31.2
if 1.48807212119155e-310 < n Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac31.3
Simplified31.3
rmApplied associate-*l*31.7
rmApplied sub-neg31.7
Applied associate--l+31.7
Applied distribute-lft-in31.7
Simplified30.3
rmApplied sqrt-prod23.0
Final simplification27.1
herbie shell --seed 2019121 +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*))))))