\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}\;t \le 11096816485837592842858507119229692542980:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r167316 = 2.0;
double r167317 = n;
double r167318 = r167316 * r167317;
double r167319 = U;
double r167320 = r167318 * r167319;
double r167321 = t;
double r167322 = l;
double r167323 = r167322 * r167322;
double r167324 = Om;
double r167325 = r167323 / r167324;
double r167326 = r167316 * r167325;
double r167327 = r167321 - r167326;
double r167328 = r167322 / r167324;
double r167329 = pow(r167328, r167316);
double r167330 = r167317 * r167329;
double r167331 = U_;
double r167332 = r167319 - r167331;
double r167333 = r167330 * r167332;
double r167334 = r167327 - r167333;
double r167335 = r167320 * r167334;
double r167336 = sqrt(r167335);
return r167336;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r167337 = t;
double r167338 = 1.1096816485837593e+40;
bool r167339 = r167337 <= r167338;
double r167340 = 2.0;
double r167341 = n;
double r167342 = r167340 * r167341;
double r167343 = U;
double r167344 = r167342 * r167343;
double r167345 = l;
double r167346 = Om;
double r167347 = r167345 / r167346;
double r167348 = r167345 * r167347;
double r167349 = r167340 * r167348;
double r167350 = r167337 - r167349;
double r167351 = 2.0;
double r167352 = r167340 / r167351;
double r167353 = pow(r167347, r167352);
double r167354 = r167341 * r167353;
double r167355 = U_;
double r167356 = r167343 - r167355;
double r167357 = r167353 * r167356;
double r167358 = r167354 * r167357;
double r167359 = r167350 - r167358;
double r167360 = r167344 * r167359;
double r167361 = sqrt(r167360);
double r167362 = sqrt(r167344);
double r167363 = pow(r167347, r167340);
double r167364 = r167341 * r167363;
double r167365 = r167364 * r167356;
double r167366 = r167350 - r167365;
double r167367 = sqrt(r167366);
double r167368 = r167362 * r167367;
double r167369 = r167339 ? r167361 : r167368;
return r167369;
}



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 t < 1.1096816485837593e+40Initial program 34.1
rmApplied *-un-lft-identity34.1
Applied times-frac31.4
Simplified31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.5
rmApplied associate-*l*30.4
if 1.1096816485837593e+40 < t Initial program 34.5
rmApplied *-un-lft-identity34.5
Applied times-frac31.7
Simplified31.7
rmApplied sqrt-prod25.7
Final simplification29.3
herbie shell --seed 2019304
(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*))))))