\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 9.725794516545525178274997374179875150759 \cdot 10^{-311}:\\
\;\;\;\;\sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(\sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}} \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}}\right) \cdot \sqrt[3]{n \cdot {\left(\frac{\ell}{Om}\right)}^{2}}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(2 \cdot \frac{\ell}{Om}, \ell, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right)\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r123958 = 2.0;
double r123959 = n;
double r123960 = r123958 * r123959;
double r123961 = U;
double r123962 = r123960 * r123961;
double r123963 = t;
double r123964 = l;
double r123965 = r123964 * r123964;
double r123966 = Om;
double r123967 = r123965 / r123966;
double r123968 = r123958 * r123967;
double r123969 = r123963 - r123968;
double r123970 = r123964 / r123966;
double r123971 = pow(r123970, r123958);
double r123972 = r123959 * r123971;
double r123973 = U_;
double r123974 = r123961 - r123973;
double r123975 = r123972 * r123974;
double r123976 = r123969 - r123975;
double r123977 = r123962 * r123976;
double r123978 = sqrt(r123977);
return r123978;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r123979 = U;
double r123980 = 9.7257945165455e-311;
bool r123981 = r123979 <= r123980;
double r123982 = t;
double r123983 = 2.0;
double r123984 = l;
double r123985 = Om;
double r123986 = r123985 / r123984;
double r123987 = r123984 / r123986;
double r123988 = n;
double r123989 = r123984 / r123985;
double r123990 = pow(r123989, r123983);
double r123991 = r123988 * r123990;
double r123992 = cbrt(r123991);
double r123993 = r123992 * r123992;
double r123994 = r123993 * r123992;
double r123995 = U_;
double r123996 = r123979 - r123995;
double r123997 = r123994 * r123996;
double r123998 = fma(r123983, r123987, r123997);
double r123999 = r123982 - r123998;
double r124000 = r123983 * r123988;
double r124001 = r123999 * r124000;
double r124002 = r124001 * r123979;
double r124003 = sqrt(r124002);
double r124004 = r123983 * r123989;
double r124005 = r123996 * r123991;
double r124006 = fma(r124004, r123984, r124005);
double r124007 = r123982 - r124006;
double r124008 = r124000 * r124007;
double r124009 = sqrt(r124008);
double r124010 = sqrt(r123979);
double r124011 = r124009 * r124010;
double r124012 = r123981 ? r124003 : r124011;
return r124012;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if U < 9.7257945165455e-311Initial program 34.0
Simplified34.0
rmApplied associate-/l*30.8
rmApplied associate-*r*31.0
rmApplied add-cube-cbrt31.0
if 9.7257945165455e-311 < U Initial program 34.7
Simplified34.7
rmApplied associate-/l*31.8
rmApplied associate-*r*31.9
rmApplied add-cube-cbrt32.0
rmApplied sqrt-prod25.0
Simplified24.9
Final simplification27.9
herbie shell --seed 2019322 +o rules:numerics
(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*))))))