\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 -5.889660218949 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(n \cdot U\right) \cdot \left(t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U* - U\right)\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{t \cdot n - \left(2 \cdot \ell - \left(U* - U\right) \cdot \frac{\ell \cdot n}{Om}\right) \cdot \frac{\ell \cdot n}{Om}} \cdot \sqrt{U}\right) \cdot \sqrt{2}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r3440589 = 2.0;
double r3440590 = n;
double r3440591 = r3440589 * r3440590;
double r3440592 = U;
double r3440593 = r3440591 * r3440592;
double r3440594 = t;
double r3440595 = l;
double r3440596 = r3440595 * r3440595;
double r3440597 = Om;
double r3440598 = r3440596 / r3440597;
double r3440599 = r3440589 * r3440598;
double r3440600 = r3440594 - r3440599;
double r3440601 = r3440595 / r3440597;
double r3440602 = pow(r3440601, r3440589);
double r3440603 = r3440590 * r3440602;
double r3440604 = U_;
double r3440605 = r3440592 - r3440604;
double r3440606 = r3440603 * r3440605;
double r3440607 = r3440600 - r3440606;
double r3440608 = r3440593 * r3440607;
double r3440609 = sqrt(r3440608);
return r3440609;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r3440610 = U;
double r3440611 = -5.889660218949e-311;
bool r3440612 = r3440610 <= r3440611;
double r3440613 = 2.0;
double r3440614 = n;
double r3440615 = r3440614 * r3440610;
double r3440616 = t;
double r3440617 = l;
double r3440618 = Om;
double r3440619 = r3440617 / r3440618;
double r3440620 = r3440613 * r3440617;
double r3440621 = r3440614 * r3440619;
double r3440622 = U_;
double r3440623 = r3440622 - r3440610;
double r3440624 = r3440621 * r3440623;
double r3440625 = r3440620 - r3440624;
double r3440626 = r3440619 * r3440625;
double r3440627 = r3440616 - r3440626;
double r3440628 = r3440615 * r3440627;
double r3440629 = r3440613 * r3440628;
double r3440630 = sqrt(r3440629);
double r3440631 = r3440616 * r3440614;
double r3440632 = r3440617 * r3440614;
double r3440633 = r3440632 / r3440618;
double r3440634 = r3440623 * r3440633;
double r3440635 = r3440620 - r3440634;
double r3440636 = r3440635 * r3440633;
double r3440637 = r3440631 - r3440636;
double r3440638 = sqrt(r3440637);
double r3440639 = sqrt(r3440610);
double r3440640 = r3440638 * r3440639;
double r3440641 = sqrt(r3440613);
double r3440642 = r3440640 * r3440641;
double r3440643 = r3440612 ? r3440630 : r3440642;
return r3440643;
}



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 < -5.889660218949e-311Initial program 33.4
Simplified31.2
rmApplied associate-*r*29.2
rmApplied associate-*r*29.5
if -5.889660218949e-311 < U Initial program 32.7
Simplified30.9
rmApplied associate-*r*29.0
rmApplied sub-neg29.0
Applied distribute-lft-in29.0
Simplified26.9
rmApplied sqrt-prod27.1
rmApplied sqrt-prod19.7
Simplified20.3
Final simplification24.9
herbie shell --seed 2019168
(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*))))))