\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.096720098972556 \cdot 10^{-309}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - n \cdot \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r218636 = 2.0;
double r218637 = n;
double r218638 = r218636 * r218637;
double r218639 = U;
double r218640 = r218638 * r218639;
double r218641 = t;
double r218642 = l;
double r218643 = r218642 * r218642;
double r218644 = Om;
double r218645 = r218643 / r218644;
double r218646 = r218636 * r218645;
double r218647 = r218641 - r218646;
double r218648 = r218642 / r218644;
double r218649 = pow(r218648, r218636);
double r218650 = r218637 * r218649;
double r218651 = U_;
double r218652 = r218639 - r218651;
double r218653 = r218650 * r218652;
double r218654 = r218647 - r218653;
double r218655 = r218640 * r218654;
double r218656 = sqrt(r218655);
return r218656;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r218657 = n;
double r218658 = 1.096720098972556e-309;
bool r218659 = r218657 <= r218658;
double r218660 = 2.0;
double r218661 = r218660 * r218657;
double r218662 = U;
double r218663 = t;
double r218664 = l;
double r218665 = Om;
double r218666 = r218664 / r218665;
double r218667 = r218664 * r218666;
double r218668 = r218660 * r218667;
double r218669 = r218663 - r218668;
double r218670 = pow(r218666, r218660);
double r218671 = U_;
double r218672 = r218662 - r218671;
double r218673 = r218670 * r218672;
double r218674 = r218657 * r218673;
double r218675 = r218669 - r218674;
double r218676 = r218662 * r218675;
double r218677 = r218661 * r218676;
double r218678 = sqrt(r218677);
double r218679 = sqrt(r218661);
double r218680 = r218657 * r218670;
double r218681 = r218680 * r218672;
double r218682 = r218669 - r218681;
double r218683 = r218662 * r218682;
double r218684 = sqrt(r218683);
double r218685 = r218679 * r218684;
double r218686 = r218659 ? r218678 : r218685;
return r218686;
}



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.096720098972556e-309Initial program 34.8
rmApplied *-un-lft-identity34.8
Applied times-frac32.0
Simplified32.0
rmApplied associate-*l*32.4
rmApplied associate-*l*32.7
if 1.096720098972556e-309 < n Initial program 35.0
rmApplied *-un-lft-identity35.0
Applied times-frac32.4
Simplified32.4
rmApplied associate-*l*32.8
rmApplied sqrt-prod25.8
Final simplification29.3
herbie shell --seed 2020060
(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*))))))