\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 7.461198993856924 \cdot 10^{-210}:\\
\;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, \left(t - \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right)\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r23194207 = 2.0;
double r23194208 = n;
double r23194209 = r23194207 * r23194208;
double r23194210 = U;
double r23194211 = r23194209 * r23194210;
double r23194212 = t;
double r23194213 = l;
double r23194214 = r23194213 * r23194213;
double r23194215 = Om;
double r23194216 = r23194214 / r23194215;
double r23194217 = r23194207 * r23194216;
double r23194218 = r23194212 - r23194217;
double r23194219 = r23194213 / r23194215;
double r23194220 = pow(r23194219, r23194207);
double r23194221 = r23194208 * r23194220;
double r23194222 = U_;
double r23194223 = r23194210 - r23194222;
double r23194224 = r23194221 * r23194223;
double r23194225 = r23194218 - r23194224;
double r23194226 = r23194211 * r23194225;
double r23194227 = sqrt(r23194226);
return r23194227;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r23194228 = U;
double r23194229 = 7.461198993856924e-210;
bool r23194230 = r23194228 <= r23194229;
double r23194231 = t;
double r23194232 = l;
double r23194233 = Om;
double r23194234 = cbrt(r23194233);
double r23194235 = r23194232 / r23194234;
double r23194236 = r23194234 * r23194234;
double r23194237 = r23194232 / r23194236;
double r23194238 = r23194235 * r23194237;
double r23194239 = 2.0;
double r23194240 = r23194238 * r23194239;
double r23194241 = r23194231 - r23194240;
double r23194242 = U_;
double r23194243 = r23194228 - r23194242;
double r23194244 = n;
double r23194245 = r23194232 / r23194233;
double r23194246 = pow(r23194245, r23194239);
double r23194247 = r23194244 * r23194246;
double r23194248 = r23194243 * r23194247;
double r23194249 = r23194241 - r23194248;
double r23194250 = r23194239 * r23194244;
double r23194251 = r23194250 * r23194228;
double r23194252 = r23194249 * r23194251;
double r23194253 = sqrt(r23194252);
double r23194254 = r23194235 * r23194235;
double r23194255 = r23194254 / r23194234;
double r23194256 = -2.0;
double r23194257 = r23194245 * r23194245;
double r23194258 = r23194257 * r23194244;
double r23194259 = r23194243 * r23194258;
double r23194260 = r23194231 - r23194259;
double r23194261 = fma(r23194255, r23194256, r23194260);
double r23194262 = r23194261 * r23194244;
double r23194263 = sqrt(r23194262);
double r23194264 = r23194239 * r23194228;
double r23194265 = sqrt(r23194264);
double r23194266 = r23194263 * r23194265;
double r23194267 = r23194230 ? r23194253 : r23194266;
return r23194267;
}



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 < 7.461198993856924e-210Initial program 34.7
rmApplied add-cube-cbrt34.8
Applied times-frac32.5
if 7.461198993856924e-210 < U Initial program 30.3
rmApplied add-cube-cbrt30.4
Applied times-frac27.6
rmApplied pow127.6
Applied pow127.6
Applied pow127.6
Applied pow127.6
Applied pow-prod-down27.6
Applied pow-prod-down27.6
Applied pow-prod-down27.6
Simplified29.4
rmApplied unpow-prod-down29.4
Applied sqrt-prod24.0
Simplified24.0
Simplified24.0
Final simplification29.2
herbie shell --seed 2019128 +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*))))))