\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 7.586071649758195 \cdot 10^{-274}:\\
\;\;\;\;\left|\sqrt[3]{U}\right| \cdot \sqrt{\left(n \cdot \left(t - \frac{\ell}{Om} \cdot \mathsf{fma}\left(\ell, 2, n \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right)\right)\right) \cdot \left(2 \cdot \sqrt[3]{U}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{\left(2 \cdot \sqrt[3]{U}\right) \cdot \left(t - \frac{\ell}{Om} \cdot \mathsf{fma}\left(\ell, 2, n \cdot \left(\left(U - U*\right) \cdot \frac{\ell}{Om}\right)\right)\right)} \cdot \sqrt{n}\right) \cdot \left|\sqrt[3]{U}\right|\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1520980 = 2.0;
double r1520981 = n;
double r1520982 = r1520980 * r1520981;
double r1520983 = U;
double r1520984 = r1520982 * r1520983;
double r1520985 = t;
double r1520986 = l;
double r1520987 = r1520986 * r1520986;
double r1520988 = Om;
double r1520989 = r1520987 / r1520988;
double r1520990 = r1520980 * r1520989;
double r1520991 = r1520985 - r1520990;
double r1520992 = r1520986 / r1520988;
double r1520993 = pow(r1520992, r1520980);
double r1520994 = r1520981 * r1520993;
double r1520995 = U_;
double r1520996 = r1520983 - r1520995;
double r1520997 = r1520994 * r1520996;
double r1520998 = r1520991 - r1520997;
double r1520999 = r1520984 * r1520998;
double r1521000 = sqrt(r1520999);
return r1521000;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1521001 = n;
double r1521002 = 7.586071649758195e-274;
bool r1521003 = r1521001 <= r1521002;
double r1521004 = U;
double r1521005 = cbrt(r1521004);
double r1521006 = fabs(r1521005);
double r1521007 = t;
double r1521008 = l;
double r1521009 = Om;
double r1521010 = r1521008 / r1521009;
double r1521011 = 2.0;
double r1521012 = U_;
double r1521013 = r1521004 - r1521012;
double r1521014 = r1521013 * r1521010;
double r1521015 = r1521001 * r1521014;
double r1521016 = fma(r1521008, r1521011, r1521015);
double r1521017 = r1521010 * r1521016;
double r1521018 = r1521007 - r1521017;
double r1521019 = r1521001 * r1521018;
double r1521020 = r1521011 * r1521005;
double r1521021 = r1521019 * r1521020;
double r1521022 = sqrt(r1521021);
double r1521023 = r1521006 * r1521022;
double r1521024 = r1521020 * r1521018;
double r1521025 = sqrt(r1521024);
double r1521026 = sqrt(r1521001);
double r1521027 = r1521025 * r1521026;
double r1521028 = r1521027 * r1521006;
double r1521029 = r1521003 ? r1521023 : r1521028;
return r1521029;
}



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 n < 7.586071649758195e-274Initial program 33.7
Simplified30.8
rmApplied add-cube-cbrt31.1
Applied associate-*l*31.1
Simplified29.2
rmApplied sqrt-prod24.3
Simplified24.3
Simplified25.0
rmApplied associate-*l*25.1
if 7.586071649758195e-274 < n Initial program 32.2
Simplified30.8
rmApplied add-cube-cbrt31.1
Applied associate-*l*31.1
Simplified29.1
rmApplied sqrt-prod23.9
Simplified23.9
Simplified23.8
rmApplied sqrt-prod15.8
Final simplification20.9
herbie shell --seed 2019134 +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*))))))