\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 r100289 = 2.0;
double r100290 = n;
double r100291 = r100289 * r100290;
double r100292 = U;
double r100293 = r100291 * r100292;
double r100294 = t;
double r100295 = l;
double r100296 = r100295 * r100295;
double r100297 = Om;
double r100298 = r100296 / r100297;
double r100299 = r100289 * r100298;
double r100300 = r100294 - r100299;
double r100301 = r100295 / r100297;
double r100302 = pow(r100301, r100289);
double r100303 = r100290 * r100302;
double r100304 = U_;
double r100305 = r100292 - r100304;
double r100306 = r100303 * r100305;
double r100307 = r100300 - r100306;
double r100308 = r100293 * r100307;
double r100309 = sqrt(r100308);
return r100309;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r100310 = U;
double r100311 = -7.011733841081501e+54;
bool r100312 = r100310 <= r100311;
double r100313 = U_;
double r100314 = r100313 - r100310;
double r100315 = n;
double r100316 = r100314 * r100315;
double r100317 = l;
double r100318 = Om;
double r100319 = r100317 / r100318;
double r100320 = 2.0;
double r100321 = pow(r100319, r100320);
double r100322 = -r100320;
double r100323 = r100322 * r100317;
double r100324 = t;
double r100325 = fma(r100319, r100323, r100324);
double r100326 = fma(r100316, r100321, r100325);
double r100327 = r100315 * r100310;
double r100328 = r100320 * r100327;
double r100329 = r100326 * r100328;
double r100330 = sqrt(r100329);
double r100331 = sqrt(r100330);
double r100332 = r100331 * r100331;
double r100333 = 1.7143508691560957e+62;
bool r100334 = r100310 <= r100333;
double r100335 = cbrt(r100319);
double r100336 = pow(r100335, r100320);
double r100337 = r100310 * r100320;
double r100338 = r100315 * r100337;
double r100339 = r100336 * r100338;
double r100340 = r100335 * r100335;
double r100341 = pow(r100340, r100320);
double r100342 = r100339 * r100341;
double r100343 = r100342 * r100316;
double r100344 = r100325 * r100310;
double r100345 = r100315 * r100320;
double r100346 = r100344 * r100345;
double r100347 = r100343 + r100346;
double r100348 = sqrt(r100347);
double r100349 = sqrt(r100328);
double r100350 = sqrt(r100326);
double r100351 = r100349 * r100350;
double r100352 = r100334 ? r100348 : r100351;
double r100353 = r100312 ? r100332 : r100352;
return r100353;
}



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*))))))