\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.6344908840558971 \cdot 10^{-152}:\\
\;\;\;\;\sqrt{U \cdot \left(t - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right) + 2 \cdot \ell}{\frac{Om}{\ell}}\right)} \cdot \sqrt{2 \cdot n}\\
\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 5.316465484859485 \cdot 10^{+126}:\\
\;\;\;\;\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{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \frac{\frac{n}{\frac{Om}{\ell}} \cdot \left(U - U*\right) + 2 \cdot \ell}{\frac{Om}{\ell}}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r1437156 = 2.0;
double r1437157 = n;
double r1437158 = r1437156 * r1437157;
double r1437159 = U;
double r1437160 = r1437158 * r1437159;
double r1437161 = t;
double r1437162 = l;
double r1437163 = r1437162 * r1437162;
double r1437164 = Om;
double r1437165 = r1437163 / r1437164;
double r1437166 = r1437156 * r1437165;
double r1437167 = r1437161 - r1437166;
double r1437168 = r1437162 / r1437164;
double r1437169 = pow(r1437168, r1437156);
double r1437170 = r1437157 * r1437169;
double r1437171 = U_;
double r1437172 = r1437159 - r1437171;
double r1437173 = r1437170 * r1437172;
double r1437174 = r1437167 - r1437173;
double r1437175 = r1437160 * r1437174;
double r1437176 = sqrt(r1437175);
return r1437176;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r1437177 = 2.0;
double r1437178 = n;
double r1437179 = r1437177 * r1437178;
double r1437180 = U;
double r1437181 = r1437179 * r1437180;
double r1437182 = t;
double r1437183 = l;
double r1437184 = r1437183 * r1437183;
double r1437185 = Om;
double r1437186 = r1437184 / r1437185;
double r1437187 = r1437186 * r1437177;
double r1437188 = r1437182 - r1437187;
double r1437189 = r1437183 / r1437185;
double r1437190 = pow(r1437189, r1437177);
double r1437191 = r1437178 * r1437190;
double r1437192 = U_;
double r1437193 = r1437180 - r1437192;
double r1437194 = r1437191 * r1437193;
double r1437195 = r1437188 - r1437194;
double r1437196 = r1437181 * r1437195;
double r1437197 = sqrt(r1437196);
double r1437198 = 1.6344908840558971e-152;
bool r1437199 = r1437197 <= r1437198;
double r1437200 = r1437185 / r1437183;
double r1437201 = r1437178 / r1437200;
double r1437202 = r1437201 * r1437193;
double r1437203 = r1437177 * r1437183;
double r1437204 = r1437202 + r1437203;
double r1437205 = r1437204 / r1437200;
double r1437206 = r1437182 - r1437205;
double r1437207 = r1437180 * r1437206;
double r1437208 = sqrt(r1437207);
double r1437209 = sqrt(r1437179);
double r1437210 = r1437208 * r1437209;
double r1437211 = 5.316465484859485e+126;
bool r1437212 = r1437197 <= r1437211;
double r1437213 = r1437179 * r1437207;
double r1437214 = sqrt(r1437213);
double r1437215 = r1437212 ? r1437197 : r1437214;
double r1437216 = r1437199 ? r1437210 : r1437215;
return r1437216;
}



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.6344908840558971e-152Initial program 53.7
Simplified37.6
rmApplied associate-*r*53.5
rmApplied pow153.5
Applied pow153.5
Applied pow-prod-down53.5
Simplified38.3
rmApplied unpow-prod-down38.3
Applied sqrt-prod38.0
Simplified37.5
Simplified37.5
if 1.6344908840558971e-152 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) < 5.316465484859485e+126Initial program 1.6
if 5.316465484859485e+126 < (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) Initial program 56.3
Simplified48.8
rmApplied associate-*r*48.9
rmApplied pow148.9
Applied pow148.9
Applied pow-prod-down48.9
Simplified47.6
rmApplied *-un-lft-identity47.6
Applied associate-*r*47.6
Simplified47.5
Final simplification26.7
herbie shell --seed 2019130
(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*))))))