\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}\;\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)} \le 1.0452549734454207 \cdot 10^{-138}:\\
\;\;\;\;\sqrt{2 \cdot \left(\sqrt[3]{\left(n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U} \cdot \left(\sqrt[3]{\left(n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U} \cdot \sqrt[3]{\left(n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U}\right)\right)}\\
\mathbf{elif}\;\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)} \le 1.0706139562680882 \cdot 10^{+131}:\\
\;\;\;\;\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(\sqrt[3]{U} \cdot \sqrt[3]{n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)}\right) \cdot \left(\sqrt[3]{\left(n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U} \cdot \sqrt[3]{\left(n \cdot \left(t - \left(2 \cdot \ell - \frac{\ell}{Om} \cdot \left(n \cdot \left(U* - U\right)\right)\right) \cdot \frac{\ell}{Om}\right)\right) \cdot U}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r2387176 = 2.0;
double r2387177 = n;
double r2387178 = r2387176 * r2387177;
double r2387179 = U;
double r2387180 = r2387178 * r2387179;
double r2387181 = t;
double r2387182 = l;
double r2387183 = r2387182 * r2387182;
double r2387184 = Om;
double r2387185 = r2387183 / r2387184;
double r2387186 = r2387176 * r2387185;
double r2387187 = r2387181 - r2387186;
double r2387188 = r2387182 / r2387184;
double r2387189 = pow(r2387188, r2387176);
double r2387190 = r2387177 * r2387189;
double r2387191 = U_;
double r2387192 = r2387179 - r2387191;
double r2387193 = r2387190 * r2387192;
double r2387194 = r2387187 - r2387193;
double r2387195 = r2387180 * r2387194;
double r2387196 = sqrt(r2387195);
return r2387196;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r2387197 = 2.0;
double r2387198 = n;
double r2387199 = r2387197 * r2387198;
double r2387200 = U;
double r2387201 = r2387199 * r2387200;
double r2387202 = t;
double r2387203 = l;
double r2387204 = r2387203 * r2387203;
double r2387205 = Om;
double r2387206 = r2387204 / r2387205;
double r2387207 = r2387206 * r2387197;
double r2387208 = r2387202 - r2387207;
double r2387209 = r2387203 / r2387205;
double r2387210 = pow(r2387209, r2387197);
double r2387211 = r2387198 * r2387210;
double r2387212 = U_;
double r2387213 = r2387200 - r2387212;
double r2387214 = r2387211 * r2387213;
double r2387215 = r2387208 - r2387214;
double r2387216 = r2387201 * r2387215;
double r2387217 = sqrt(r2387216);
double r2387218 = 1.0452549734454207e-138;
bool r2387219 = r2387217 <= r2387218;
double r2387220 = r2387197 * r2387203;
double r2387221 = r2387212 - r2387200;
double r2387222 = r2387198 * r2387221;
double r2387223 = r2387209 * r2387222;
double r2387224 = r2387220 - r2387223;
double r2387225 = r2387224 * r2387209;
double r2387226 = r2387202 - r2387225;
double r2387227 = r2387198 * r2387226;
double r2387228 = r2387227 * r2387200;
double r2387229 = cbrt(r2387228);
double r2387230 = r2387229 * r2387229;
double r2387231 = r2387229 * r2387230;
double r2387232 = r2387197 * r2387231;
double r2387233 = sqrt(r2387232);
double r2387234 = 1.0706139562680882e+131;
bool r2387235 = r2387217 <= r2387234;
double r2387236 = cbrt(r2387200);
double r2387237 = cbrt(r2387227);
double r2387238 = r2387236 * r2387237;
double r2387239 = r2387238 * r2387230;
double r2387240 = r2387197 * r2387239;
double r2387241 = sqrt(r2387240);
double r2387242 = r2387235 ? r2387217 : r2387241;
double r2387243 = r2387219 ? r2387233 : r2387242;
return r2387243;
}



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 (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 1.0452549734454207e-138Initial program 51.5
Simplified37.6
rmApplied add-cube-cbrt37.8
if 1.0452549734454207e-138 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 1.0706139562680882e+131Initial program 1.3
if 1.0706139562680882e+131 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) Initial program 57.5
Simplified49.9
rmApplied add-cube-cbrt50.0
rmApplied cbrt-prod50.0
Final simplification28.1
herbie shell --seed 2019163
(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*))))))