\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 -1.278855091355844422623118853737248524084 \cdot 10^{-182}:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{elif}\;t \le 1.709265934839956921877767494006232179476 \cdot 10^{-235}:\\
\;\;\;\;\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 24890222795003809792:\\
\;\;\;\;\sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}} \cdot \sqrt{\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r247164 = 2.0;
double r247165 = n;
double r247166 = r247164 * r247165;
double r247167 = U;
double r247168 = r247166 * r247167;
double r247169 = t;
double r247170 = l;
double r247171 = r247170 * r247170;
double r247172 = Om;
double r247173 = r247171 / r247172;
double r247174 = r247164 * r247173;
double r247175 = r247169 - r247174;
double r247176 = r247170 / r247172;
double r247177 = pow(r247176, r247164);
double r247178 = r247165 * r247177;
double r247179 = U_;
double r247180 = r247167 - r247179;
double r247181 = r247178 * r247180;
double r247182 = r247175 - r247181;
double r247183 = r247168 * r247182;
double r247184 = sqrt(r247183);
return r247184;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r247185 = t;
double r247186 = -1.2788550913558444e-182;
bool r247187 = r247185 <= r247186;
double r247188 = 2.0;
double r247189 = n;
double r247190 = r247188 * r247189;
double r247191 = U;
double r247192 = l;
double r247193 = Om;
double r247194 = r247192 / r247193;
double r247195 = r247192 * r247194;
double r247196 = r247188 * r247195;
double r247197 = r247185 - r247196;
double r247198 = pow(r247194, r247188);
double r247199 = r247189 * r247198;
double r247200 = U_;
double r247201 = r247191 - r247200;
double r247202 = r247199 * r247201;
double r247203 = r247197 - r247202;
double r247204 = r247191 * r247203;
double r247205 = r247190 * r247204;
double r247206 = sqrt(r247205);
double r247207 = sqrt(r247206);
double r247208 = r247207 * r247207;
double r247209 = 1.709265934839957e-235;
bool r247210 = r247185 <= r247209;
double r247211 = r247190 * r247191;
double r247212 = 2.0;
double r247213 = r247188 / r247212;
double r247214 = pow(r247194, r247213);
double r247215 = r247189 * r247214;
double r247216 = r247215 * r247214;
double r247217 = r247216 * r247201;
double r247218 = r247197 - r247217;
double r247219 = r247211 * r247218;
double r247220 = sqrt(r247219);
double r247221 = 2.489022279500381e+19;
bool r247222 = r247185 <= r247221;
double r247223 = sqrt(r247211);
double r247224 = sqrt(r247203);
double r247225 = r247223 * r247224;
double r247226 = r247222 ? r247208 : r247225;
double r247227 = r247210 ? r247220 : r247226;
double r247228 = r247187 ? r247208 : r247227;
return r247228;
}



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 t < -1.2788550913558444e-182 or 1.709265934839957e-235 < t < 2.489022279500381e+19Initial program 33.4
rmApplied *-un-lft-identity33.4
Applied times-frac30.6
Simplified30.6
rmApplied associate-*l*30.7
rmApplied add-sqr-sqrt30.9
if -1.2788550913558444e-182 < t < 1.709265934839957e-235Initial program 38.2
rmApplied *-un-lft-identity38.2
Applied times-frac35.2
Simplified35.2
rmApplied sqr-pow35.2
Applied associate-*r*33.7
if 2.489022279500381e+19 < t Initial program 33.8
rmApplied *-un-lft-identity33.8
Applied times-frac30.9
Simplified30.9
rmApplied sqrt-prod25.3
Final simplification30.0
herbie shell --seed 2019318
(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*))))))