\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.976134983095281222500639438484837269871 \cdot 10^{186}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\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)\right)}\\
\mathbf{elif}\;t \le -1.348736528199478592142088546342992390382 \cdot 10^{-70}:\\
\;\;\;\;\sqrt{{\left(\left(\left(2 \cdot n\right) \cdot \left(t - \left(2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right) - \left(-\left(U - U*\right)\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}^{1}}\\
\mathbf{elif}\;t \le 258973315068288958464:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \left(\left(\left(n \cdot {\left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{1}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\sqrt[3]{\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)\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(\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r220248 = 2.0;
double r220249 = n;
double r220250 = r220248 * r220249;
double r220251 = U;
double r220252 = r220250 * r220251;
double r220253 = t;
double r220254 = l;
double r220255 = r220254 * r220254;
double r220256 = Om;
double r220257 = r220255 / r220256;
double r220258 = r220248 * r220257;
double r220259 = r220253 - r220258;
double r220260 = r220254 / r220256;
double r220261 = pow(r220260, r220248);
double r220262 = r220249 * r220261;
double r220263 = U_;
double r220264 = r220251 - r220263;
double r220265 = r220262 * r220264;
double r220266 = r220259 - r220265;
double r220267 = r220252 * r220266;
double r220268 = sqrt(r220267);
return r220268;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r220269 = t;
double r220270 = -1.9761349830952812e+186;
bool r220271 = r220269 <= r220270;
double r220272 = 2.0;
double r220273 = n;
double r220274 = r220272 * r220273;
double r220275 = U;
double r220276 = l;
double r220277 = Om;
double r220278 = r220276 / r220277;
double r220279 = r220276 * r220278;
double r220280 = r220272 * r220279;
double r220281 = r220269 - r220280;
double r220282 = cbrt(r220276);
double r220283 = r220282 * r220282;
double r220284 = 1.0;
double r220285 = r220283 / r220284;
double r220286 = 2.0;
double r220287 = r220272 / r220286;
double r220288 = pow(r220285, r220287);
double r220289 = r220273 * r220288;
double r220290 = r220282 / r220277;
double r220291 = pow(r220290, r220287);
double r220292 = r220289 * r220291;
double r220293 = pow(r220278, r220287);
double r220294 = r220292 * r220293;
double r220295 = U_;
double r220296 = r220275 - r220295;
double r220297 = r220294 * r220296;
double r220298 = r220281 - r220297;
double r220299 = r220275 * r220298;
double r220300 = r220274 * r220299;
double r220301 = sqrt(r220300);
double r220302 = -1.3487365281994786e-70;
bool r220303 = r220269 <= r220302;
double r220304 = -r220296;
double r220305 = r220286 * r220287;
double r220306 = pow(r220278, r220305);
double r220307 = r220273 * r220306;
double r220308 = r220304 * r220307;
double r220309 = r220280 - r220308;
double r220310 = r220269 - r220309;
double r220311 = r220274 * r220310;
double r220312 = r220311 * r220275;
double r220313 = pow(r220312, r220284);
double r220314 = sqrt(r220313);
double r220315 = 2.5897331506828896e+20;
bool r220316 = r220269 <= r220315;
double r220317 = r220274 * r220275;
double r220318 = sqrt(r220317);
double r220319 = r220273 * r220293;
double r220320 = r220319 * r220293;
double r220321 = r220320 * r220296;
double r220322 = r220281 - r220321;
double r220323 = sqrt(r220322);
double r220324 = r220318 * r220323;
double r220325 = r220316 ? r220301 : r220324;
double r220326 = r220303 ? r220314 : r220325;
double r220327 = r220271 ? r220301 : r220326;
return r220327;
}



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.9761349830952812e+186 or -1.3487365281994786e-70 < t < 2.5897331506828896e+20Initial program 35.7
rmApplied *-un-lft-identity35.7
Applied times-frac33.3
Simplified33.3
rmApplied sqr-pow33.3
Applied associate-*r*32.2
rmApplied *-un-lft-identity32.2
Applied add-cube-cbrt32.3
Applied times-frac32.3
Applied unpow-prod-down32.3
Applied associate-*r*32.8
rmApplied associate-*l*32.3
if -1.9761349830952812e+186 < t < -1.3487365281994786e-70Initial program 30.1
rmApplied *-un-lft-identity30.1
Applied times-frac28.0
Simplified28.0
rmApplied sqr-pow28.0
Applied associate-*r*27.3
rmApplied pow127.3
Applied pow127.3
Applied pow127.3
Applied pow127.3
Applied pow-prod-down27.3
Applied pow-prod-down27.3
Applied pow-prod-down27.3
Simplified26.8
if 2.5897331506828896e+20 < t Initial program 34.6
rmApplied *-un-lft-identity34.6
Applied times-frac32.2
Simplified32.2
rmApplied sqr-pow32.2
Applied associate-*r*31.7
rmApplied sqrt-prod25.7
Final simplification29.5
herbie shell --seed 2020001 +o rules:numerics
(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*))))))