\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 -7.561406082815871403820188178211965794307 \cdot 10^{205}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}, U* - U, \mathsf{fma}\left(\ell, -2 \cdot \frac{\ell}{Om}, t\right)\right)\right)}\\
\mathbf{elif}\;t \le 7.566412420091833209956009758971708625276 \cdot 10^{105}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right), \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, -2, t\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(U \cdot n\right)} \cdot \sqrt{\mathsf{fma}\left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U* - U\right), n, \mathsf{fma}\left(-2, \frac{\ell}{\frac{Om}{\ell}}, t\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r136437 = 2.0;
double r136438 = n;
double r136439 = r136437 * r136438;
double r136440 = U;
double r136441 = r136439 * r136440;
double r136442 = t;
double r136443 = l;
double r136444 = r136443 * r136443;
double r136445 = Om;
double r136446 = r136444 / r136445;
double r136447 = r136437 * r136446;
double r136448 = r136442 - r136447;
double r136449 = r136443 / r136445;
double r136450 = pow(r136449, r136437);
double r136451 = r136438 * r136450;
double r136452 = U_;
double r136453 = r136440 - r136452;
double r136454 = r136451 * r136453;
double r136455 = r136448 - r136454;
double r136456 = r136441 * r136455;
double r136457 = sqrt(r136456);
return r136457;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r136458 = t;
double r136459 = -7.561406082815871e+205;
bool r136460 = r136458 <= r136459;
double r136461 = 2.0;
double r136462 = n;
double r136463 = r136461 * r136462;
double r136464 = U;
double r136465 = l;
double r136466 = Om;
double r136467 = r136465 / r136466;
double r136468 = 2.0;
double r136469 = r136461 / r136468;
double r136470 = r136468 * r136469;
double r136471 = pow(r136467, r136470);
double r136472 = r136462 * r136471;
double r136473 = U_;
double r136474 = r136473 - r136464;
double r136475 = r136461 * r136467;
double r136476 = -r136475;
double r136477 = fma(r136465, r136476, r136458);
double r136478 = fma(r136472, r136474, r136477);
double r136479 = r136464 * r136478;
double r136480 = r136463 * r136479;
double r136481 = sqrt(r136480);
double r136482 = 7.566412420091833e+105;
bool r136483 = r136458 <= r136482;
double r136484 = r136463 * r136464;
double r136485 = pow(r136467, r136469);
double r136486 = r136485 * r136462;
double r136487 = r136485 * r136486;
double r136488 = r136467 * r136465;
double r136489 = -r136461;
double r136490 = fma(r136488, r136489, r136458);
double r136491 = fma(r136474, r136487, r136490);
double r136492 = r136484 * r136491;
double r136493 = sqrt(r136492);
double r136494 = r136464 * r136462;
double r136495 = r136461 * r136494;
double r136496 = sqrt(r136495);
double r136497 = pow(r136467, r136461);
double r136498 = r136497 * r136474;
double r136499 = r136466 / r136465;
double r136500 = r136465 / r136499;
double r136501 = fma(r136489, r136500, r136458);
double r136502 = fma(r136498, r136462, r136501);
double r136503 = sqrt(r136502);
double r136504 = r136496 * r136503;
double r136505 = r136483 ? r136493 : r136504;
double r136506 = r136460 ? r136481 : r136505;
return r136506;
}



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 < -7.561406082815871e+205Initial program 41.0
Simplified39.0
rmApplied sqr-pow39.0
Applied associate-*r*38.9
rmApplied associate-*l*39.4
Simplified39.7
if -7.561406082815871e+205 < t < 7.566412420091833e+105Initial program 34.2
Simplified31.4
rmApplied sqr-pow31.4
Applied associate-*r*30.4
if 7.566412420091833e+105 < t Initial program 36.1
Simplified33.6
rmApplied sqrt-prod24.4
Simplified24.4
Simplified25.1
Final simplification30.3
herbie shell --seed 2019196 +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*))))))