\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 -2.91138552679685006846860711181604876416 \cdot 10^{178}:\\
\;\;\;\;\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(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;t \le -2.99207439904474513830909419640009574747 \cdot 10^{97}:\\
\;\;\;\;\sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}} \cdot \sqrt{\sqrt{\left(U \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)}}\\
\mathbf{elif}\;t \le 1.664268146426151312546296416098443579856 \cdot 10^{-294}:\\
\;\;\;\;\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(\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;t \le 2.6537513056737148695584217694138294538 \cdot 10^{-145} \lor \neg \left(t \le 1.248295602955021596545459106660652670584 \cdot 10^{-8}\right):\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - 2 \cdot \frac{{\ell}^{2}}{Om}\right)\right) + \left(U - U*\right) \cdot \left(\left(-{\left(\sqrt[3]{n}\right)}^{3} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r189242 = 2.0;
double r189243 = n;
double r189244 = r189242 * r189243;
double r189245 = U;
double r189246 = r189244 * r189245;
double r189247 = t;
double r189248 = l;
double r189249 = r189248 * r189248;
double r189250 = Om;
double r189251 = r189249 / r189250;
double r189252 = r189242 * r189251;
double r189253 = r189247 - r189252;
double r189254 = r189248 / r189250;
double r189255 = pow(r189254, r189242);
double r189256 = r189243 * r189255;
double r189257 = U_;
double r189258 = r189245 - r189257;
double r189259 = r189256 * r189258;
double r189260 = r189253 - r189259;
double r189261 = r189246 * r189260;
double r189262 = sqrt(r189261);
return r189262;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r189263 = t;
double r189264 = -2.91138552679685e+178;
bool r189265 = r189263 <= r189264;
double r189266 = 2.0;
double r189267 = n;
double r189268 = r189266 * r189267;
double r189269 = U;
double r189270 = r189268 * r189269;
double r189271 = l;
double r189272 = Om;
double r189273 = r189271 / r189272;
double r189274 = r189271 * r189273;
double r189275 = r189266 * r189274;
double r189276 = r189263 - r189275;
double r189277 = 2.0;
double r189278 = r189266 / r189277;
double r189279 = pow(r189273, r189278);
double r189280 = r189267 * r189279;
double r189281 = r189280 * r189279;
double r189282 = U_;
double r189283 = r189269 - r189282;
double r189284 = r189281 * r189283;
double r189285 = r189276 - r189284;
double r189286 = r189270 * r189285;
double r189287 = sqrt(r189286);
double r189288 = -2.992074399044745e+97;
bool r189289 = r189263 <= r189288;
double r189290 = r189271 * r189271;
double r189291 = r189290 / r189272;
double r189292 = pow(r189273, r189266);
double r189293 = r189292 * r189283;
double r189294 = r189293 * r189267;
double r189295 = fma(r189266, r189291, r189294);
double r189296 = r189263 - r189295;
double r189297 = r189269 * r189296;
double r189298 = r189297 * r189268;
double r189299 = sqrt(r189298);
double r189300 = sqrt(r189299);
double r189301 = r189300 * r189300;
double r189302 = 1.6642681464261513e-294;
bool r189303 = r189263 <= r189302;
double r189304 = 2.653751305673715e-145;
bool r189305 = r189263 <= r189304;
double r189306 = 1.2482956029550216e-08;
bool r189307 = r189263 <= r189306;
double r189308 = !r189307;
bool r189309 = r189305 || r189308;
double r189310 = sqrt(r189270);
double r189311 = r189266 * r189271;
double r189312 = r189277 * r189278;
double r189313 = pow(r189273, r189312);
double r189314 = r189267 * r189313;
double r189315 = r189283 * r189314;
double r189316 = fma(r189311, r189273, r189315);
double r189317 = r189263 - r189316;
double r189318 = sqrt(r189317);
double r189319 = r189310 * r189318;
double r189320 = pow(r189271, r189277);
double r189321 = r189320 / r189272;
double r189322 = r189266 * r189321;
double r189323 = r189263 - r189322;
double r189324 = r189269 * r189323;
double r189325 = r189268 * r189324;
double r189326 = cbrt(r189267);
double r189327 = 3.0;
double r189328 = pow(r189326, r189327);
double r189329 = r189328 * r189313;
double r189330 = -r189329;
double r189331 = r189330 * r189270;
double r189332 = r189283 * r189331;
double r189333 = r189325 + r189332;
double r189334 = sqrt(r189333);
double r189335 = r189309 ? r189319 : r189334;
double r189336 = r189303 ? r189287 : r189335;
double r189337 = r189289 ? r189301 : r189336;
double r189338 = r189265 ? r189287 : r189337;
return r189338;
}



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 < -2.91138552679685e+178 or -2.992074399044745e+97 < t < 1.6642681464261513e-294Initial program 34.3
rmApplied *-un-lft-identity34.3
Applied times-frac31.7
Simplified31.7
rmApplied sqr-pow31.7
Applied associate-*r*30.7
if -2.91138552679685e+178 < t < -2.992074399044745e+97Initial program 35.1
rmApplied add-sqr-sqrt35.3
Simplified39.1
Simplified34.1
if 1.6642681464261513e-294 < t < 2.653751305673715e-145 or 1.2482956029550216e-08 < t Initial program 35.8
rmApplied *-un-lft-identity35.8
Applied times-frac33.5
Simplified33.5
rmApplied sqr-pow33.5
Applied associate-*r*32.6
rmApplied sqrt-prod28.8
Simplified29.4
if 2.653751305673715e-145 < t < 1.2482956029550216e-08Initial program 31.6
rmApplied *-un-lft-identity31.6
Applied times-frac28.9
Simplified28.9
rmApplied sqr-pow28.9
Applied associate-*r*28.3
rmApplied add-cube-cbrt28.4
Applied associate-*l*28.3
rmApplied sub-neg28.3
Applied distribute-lft-in28.3
Simplified31.0
Simplified32.1
Final simplification30.6
herbie shell --seed 2019303 +o rules:numerics
(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*))))))