\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.011733841081500777334264329602193954177 \cdot 10^{54}:\\
\;\;\;\;\sqrt{\sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right) \cdot \left(2 \cdot \left(n \cdot U\right)\right)}}\\
\mathbf{elif}\;U \le 1.714350869156095708205362740940600427368 \cdot 10^{62}:\\
\;\;\;\;\sqrt{\left(\left({\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2} \cdot \left(n \cdot \left(U \cdot 2\right)\right)\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(\left(U* - U\right) \cdot n\right) + \left(\mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right) \cdot U\right) \cdot \left(n \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(n \cdot U\right)} \cdot \sqrt{\mathsf{fma}\left(\left(U* - U\right) \cdot n, {\left(\frac{\ell}{Om}\right)}^{2}, \mathsf{fma}\left(\frac{\ell}{Om}, \left(-2\right) \cdot \ell, t\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r100333 = 2.0;
double r100334 = n;
double r100335 = r100333 * r100334;
double r100336 = U;
double r100337 = r100335 * r100336;
double r100338 = t;
double r100339 = l;
double r100340 = r100339 * r100339;
double r100341 = Om;
double r100342 = r100340 / r100341;
double r100343 = r100333 * r100342;
double r100344 = r100338 - r100343;
double r100345 = r100339 / r100341;
double r100346 = pow(r100345, r100333);
double r100347 = r100334 * r100346;
double r100348 = U_;
double r100349 = r100336 - r100348;
double r100350 = r100347 * r100349;
double r100351 = r100344 - r100350;
double r100352 = r100337 * r100351;
double r100353 = sqrt(r100352);
return r100353;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r100354 = U;
double r100355 = -7.011733841081501e+54;
bool r100356 = r100354 <= r100355;
double r100357 = U_;
double r100358 = r100357 - r100354;
double r100359 = n;
double r100360 = r100358 * r100359;
double r100361 = l;
double r100362 = Om;
double r100363 = r100361 / r100362;
double r100364 = 2.0;
double r100365 = pow(r100363, r100364);
double r100366 = -r100364;
double r100367 = r100366 * r100361;
double r100368 = t;
double r100369 = fma(r100363, r100367, r100368);
double r100370 = fma(r100360, r100365, r100369);
double r100371 = r100359 * r100354;
double r100372 = r100364 * r100371;
double r100373 = r100370 * r100372;
double r100374 = sqrt(r100373);
double r100375 = sqrt(r100374);
double r100376 = r100375 * r100375;
double r100377 = 1.7143508691560957e+62;
bool r100378 = r100354 <= r100377;
double r100379 = cbrt(r100363);
double r100380 = pow(r100379, r100364);
double r100381 = r100354 * r100364;
double r100382 = r100359 * r100381;
double r100383 = r100380 * r100382;
double r100384 = r100379 * r100379;
double r100385 = pow(r100384, r100364);
double r100386 = r100383 * r100385;
double r100387 = r100386 * r100360;
double r100388 = r100369 * r100354;
double r100389 = r100359 * r100364;
double r100390 = r100388 * r100389;
double r100391 = r100387 + r100390;
double r100392 = sqrt(r100391);
double r100393 = sqrt(r100372);
double r100394 = sqrt(r100370);
double r100395 = r100393 * r100394;
double r100396 = r100378 ? r100392 : r100395;
double r100397 = r100356 ? r100376 : r100396;
return r100397;
}



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.011733841081501e+54Initial program 29.1
Simplified26.1
rmApplied add-sqr-sqrt26.3
Simplified27.2
Simplified27.1
if -7.011733841081501e+54 < U < 1.7143508691560957e+62Initial program 36.1
Simplified33.2
rmApplied fma-udef33.2
Applied distribute-lft-in33.2
Simplified34.9
Simplified32.1
rmApplied add-cube-cbrt32.2
Applied unpow-prod-down32.1
Applied associate-*l*31.0
Simplified31.0
if 1.7143508691560957e+62 < U Initial program 31.3
Simplified28.0
rmApplied sqrt-prod42.1
Simplified42.1
Simplified42.6
Final simplification32.0
herbie shell --seed 2019194 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))