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



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*))))))