\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}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.3439225546940806 \cdot 10^{-297}:\\
\;\;\;\;\sqrt{\left(2 \cdot \left(\left(\left(t - \frac{1}{\frac{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}} \cdot \left(\left(U - U*\right) \cdot \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{\sqrt[3]{Om}}{\sqrt[3]{\ell}}}\right)\right) + \frac{-2}{\frac{\frac{Om}{\ell}}{\ell}}\right) \cdot n\right)\right) \cdot U}\\
\mathbf{elif}\;\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right) \le 1.0215309585777349 \cdot 10^{+298}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(\left(t - \frac{\frac{n}{\frac{Om}{\ell}}}{\frac{Om}{\ell}} \cdot \left(U - U*\right)\right) + \frac{-2}{\frac{\frac{Om}{\ell}}{\ell}}\right) \cdot n\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r4961287 = 2.0;
double r4961288 = n;
double r4961289 = r4961287 * r4961288;
double r4961290 = U;
double r4961291 = r4961289 * r4961290;
double r4961292 = t;
double r4961293 = l;
double r4961294 = r4961293 * r4961293;
double r4961295 = Om;
double r4961296 = r4961294 / r4961295;
double r4961297 = r4961287 * r4961296;
double r4961298 = r4961292 - r4961297;
double r4961299 = r4961293 / r4961295;
double r4961300 = pow(r4961299, r4961287);
double r4961301 = r4961288 * r4961300;
double r4961302 = U_;
double r4961303 = r4961290 - r4961302;
double r4961304 = r4961301 * r4961303;
double r4961305 = r4961298 - r4961304;
double r4961306 = r4961291 * r4961305;
double r4961307 = sqrt(r4961306);
return r4961307;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r4961308 = 2.0;
double r4961309 = n;
double r4961310 = r4961308 * r4961309;
double r4961311 = U;
double r4961312 = r4961310 * r4961311;
double r4961313 = t;
double r4961314 = l;
double r4961315 = r4961314 * r4961314;
double r4961316 = Om;
double r4961317 = r4961315 / r4961316;
double r4961318 = r4961317 * r4961308;
double r4961319 = r4961313 - r4961318;
double r4961320 = r4961314 / r4961316;
double r4961321 = pow(r4961320, r4961308);
double r4961322 = r4961309 * r4961321;
double r4961323 = U_;
double r4961324 = r4961311 - r4961323;
double r4961325 = r4961322 * r4961324;
double r4961326 = r4961319 - r4961325;
double r4961327 = r4961312 * r4961326;
double r4961328 = 1.3439225546940806e-297;
bool r4961329 = r4961327 <= r4961328;
double r4961330 = 1.0;
double r4961331 = cbrt(r4961316);
double r4961332 = r4961331 * r4961331;
double r4961333 = cbrt(r4961314);
double r4961334 = r4961333 * r4961333;
double r4961335 = r4961332 / r4961334;
double r4961336 = r4961330 / r4961335;
double r4961337 = r4961316 / r4961314;
double r4961338 = r4961309 / r4961337;
double r4961339 = r4961331 / r4961333;
double r4961340 = r4961338 / r4961339;
double r4961341 = r4961324 * r4961340;
double r4961342 = r4961336 * r4961341;
double r4961343 = r4961313 - r4961342;
double r4961344 = -2.0;
double r4961345 = r4961337 / r4961314;
double r4961346 = r4961344 / r4961345;
double r4961347 = r4961343 + r4961346;
double r4961348 = r4961347 * r4961309;
double r4961349 = r4961308 * r4961348;
double r4961350 = r4961349 * r4961311;
double r4961351 = sqrt(r4961350);
double r4961352 = 1.0215309585777349e+298;
bool r4961353 = r4961327 <= r4961352;
double r4961354 = sqrt(r4961327);
double r4961355 = r4961338 / r4961337;
double r4961356 = r4961355 * r4961324;
double r4961357 = r4961313 - r4961356;
double r4961358 = r4961357 + r4961346;
double r4961359 = r4961358 * r4961309;
double r4961360 = r4961308 * r4961359;
double r4961361 = sqrt(r4961360);
double r4961362 = sqrt(r4961311);
double r4961363 = r4961361 * r4961362;
double r4961364 = r4961353 ? r4961354 : r4961363;
double r4961365 = r4961329 ? r4961351 : r4961364;
return r4961365;
}



Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.3439225546940806e-297Initial program 54.5
Simplified38.0
rmApplied associate-/r*36.7
rmApplied add-cube-cbrt36.7
Applied add-cube-cbrt36.7
Applied times-frac36.7
Applied *-un-lft-identity36.7
Applied times-frac36.7
Applied associate-*l*35.9
if 1.3439225546940806e-297 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) < 1.0215309585777349e+298Initial program 1.4
if 1.0215309585777349e+298 < (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) Initial program 59.8
Simplified57.4
rmApplied associate-/r*51.1
rmApplied sqrt-prod51.3
Final simplification26.5
herbie shell --seed 2019128
(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*))))))