\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 4.2299491368120496 \cdot 10^{-247}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\sqrt[3]{U - U*} \cdot \left(\left(\sqrt[3]{U - U*} \cdot \sqrt[3]{U - U*}\right) \cdot \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right)\right)\right)\right)\right) \cdot \left(U \cdot \left(2 \cdot n\right)\right)}\\
\mathbf{elif}\;t \le 8.150193543384339 \cdot 10^{-127}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot n\right)} \cdot \sqrt{t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\
\mathbf{elif}\;t \le 6.13667835067999 \cdot 10^{+123}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot \left(t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)\right)\right) \cdot U}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{U \cdot \left(2 \cdot n\right)} \cdot \sqrt{t - \mathsf{fma}\left(\left(\frac{\ell}{Om}\right), \left(2 \cdot \ell\right), \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1306321 = 2.0;
double r1306322 = n;
double r1306323 = r1306321 * r1306322;
double r1306324 = U;
double r1306325 = r1306323 * r1306324;
double r1306326 = t;
double r1306327 = l;
double r1306328 = r1306327 * r1306327;
double r1306329 = Om;
double r1306330 = r1306328 / r1306329;
double r1306331 = r1306321 * r1306330;
double r1306332 = r1306326 - r1306331;
double r1306333 = r1306327 / r1306329;
double r1306334 = pow(r1306333, r1306321);
double r1306335 = r1306322 * r1306334;
double r1306336 = U_;
double r1306337 = r1306324 - r1306336;
double r1306338 = r1306335 * r1306337;
double r1306339 = r1306332 - r1306338;
double r1306340 = r1306325 * r1306339;
double r1306341 = sqrt(r1306340);
return r1306341;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1306342 = t;
double r1306343 = 4.2299491368120496e-247;
bool r1306344 = r1306342 <= r1306343;
double r1306345 = l;
double r1306346 = Om;
double r1306347 = r1306345 / r1306346;
double r1306348 = 2.0;
double r1306349 = r1306348 * r1306345;
double r1306350 = U;
double r1306351 = U_;
double r1306352 = r1306350 - r1306351;
double r1306353 = cbrt(r1306352);
double r1306354 = r1306353 * r1306353;
double r1306355 = n;
double r1306356 = r1306355 * r1306347;
double r1306357 = r1306356 * r1306347;
double r1306358 = r1306354 * r1306357;
double r1306359 = r1306353 * r1306358;
double r1306360 = fma(r1306347, r1306349, r1306359);
double r1306361 = r1306342 - r1306360;
double r1306362 = r1306348 * r1306355;
double r1306363 = r1306350 * r1306362;
double r1306364 = r1306361 * r1306363;
double r1306365 = sqrt(r1306364);
double r1306366 = 8.150193543384339e-127;
bool r1306367 = r1306342 <= r1306366;
double r1306368 = sqrt(r1306363);
double r1306369 = r1306357 * r1306352;
double r1306370 = fma(r1306347, r1306349, r1306369);
double r1306371 = r1306342 - r1306370;
double r1306372 = sqrt(r1306371);
double r1306373 = r1306368 * r1306372;
double r1306374 = 6.13667835067999e+123;
bool r1306375 = r1306342 <= r1306374;
double r1306376 = r1306362 * r1306371;
double r1306377 = r1306376 * r1306350;
double r1306378 = sqrt(r1306377);
double r1306379 = r1306375 ? r1306378 : r1306373;
double r1306380 = r1306367 ? r1306373 : r1306379;
double r1306381 = r1306344 ? r1306365 : r1306380;
return r1306381;
}



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 t < 4.2299491368120496e-247Initial program 33.5
Simplified32.5
rmApplied associate-*r*31.5
rmApplied associate-*r*30.9
rmApplied associate-*r*29.9
rmApplied add-cube-cbrt30.0
Applied associate-*r*30.0
if 4.2299491368120496e-247 < t < 8.150193543384339e-127 or 6.13667835067999e+123 < t Initial program 36.5
Simplified35.0
rmApplied associate-*r*35.0
rmApplied associate-*r*34.4
rmApplied associate-*r*33.9
rmApplied sqrt-prod27.4
if 8.150193543384339e-127 < t < 6.13667835067999e+123Initial program 28.9
Simplified26.7
rmApplied associate-*r*26.8
rmApplied associate-*r*26.5
rmApplied associate-*r*25.7
rmApplied associate-*l*24.9
Final simplification28.3
herbie shell --seed 2019129 +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*))))))