\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}\;U \le -7.411448247083684376522735829909480721372 \cdot 10^{-46}:\\
\;\;\;\;\sqrt{U \cdot \left(\left(2 \cdot n\right) \cdot \left(\left(\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) - \frac{\ell}{Om} \cdot \left(2 \cdot \ell\right)\right) + t\right)\right)}\\
\mathbf{elif}\;U \le 2.469810196486197144576887320962391000635 \cdot 10^{-303}:\\
\;\;\;\;\sqrt{\left(\sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right)\right)}}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(\left(\left({\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(n \cdot {\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U* - U\right) - \left(\frac{\ell}{Om} \cdot \left(2 \cdot \ell\right) - t\right)\right) \cdot \left(2 \cdot n\right)} \cdot \sqrt{U}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r756211 = 2.0;
double r756212 = n;
double r756213 = r756211 * r756212;
double r756214 = U;
double r756215 = r756213 * r756214;
double r756216 = t;
double r756217 = l;
double r756218 = r756217 * r756217;
double r756219 = Om;
double r756220 = r756218 / r756219;
double r756221 = r756211 * r756220;
double r756222 = r756216 - r756221;
double r756223 = r756217 / r756219;
double r756224 = pow(r756223, r756211);
double r756225 = r756212 * r756224;
double r756226 = U_;
double r756227 = r756214 - r756226;
double r756228 = r756225 * r756227;
double r756229 = r756222 - r756228;
double r756230 = r756215 * r756229;
double r756231 = sqrt(r756230);
return r756231;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r756232 = U;
double r756233 = -7.411448247083684e-46;
bool r756234 = r756232 <= r756233;
double r756235 = 2.0;
double r756236 = n;
double r756237 = r756235 * r756236;
double r756238 = l;
double r756239 = Om;
double r756240 = r756238 / r756239;
double r756241 = 2.0;
double r756242 = r756235 / r756241;
double r756243 = pow(r756240, r756242);
double r756244 = r756236 * r756243;
double r756245 = r756244 * r756243;
double r756246 = U_;
double r756247 = r756246 - r756232;
double r756248 = r756245 * r756247;
double r756249 = r756235 * r756238;
double r756250 = r756240 * r756249;
double r756251 = r756248 - r756250;
double r756252 = t;
double r756253 = r756251 + r756252;
double r756254 = r756237 * r756253;
double r756255 = r756232 * r756254;
double r756256 = sqrt(r756255);
double r756257 = 2.469810196486197e-303;
bool r756258 = r756232 <= r756257;
double r756259 = cbrt(r756239);
double r756260 = r756238 / r756259;
double r756261 = pow(r756260, r756242);
double r756262 = r756261 * r756243;
double r756263 = 1.0;
double r756264 = r756259 * r756259;
double r756265 = r756263 / r756264;
double r756266 = pow(r756265, r756242);
double r756267 = r756236 * r756266;
double r756268 = r756262 * r756267;
double r756269 = r756268 * r756247;
double r756270 = r756250 - r756252;
double r756271 = r756269 - r756270;
double r756272 = r756232 * r756271;
double r756273 = r756237 * r756272;
double r756274 = cbrt(r756273);
double r756275 = r756274 * r756274;
double r756276 = r756275 * r756274;
double r756277 = sqrt(r756276);
double r756278 = r756271 * r756237;
double r756279 = sqrt(r756278);
double r756280 = sqrt(r756232);
double r756281 = r756279 * r756280;
double r756282 = r756258 ? r756277 : r756281;
double r756283 = r756234 ? r756256 : r756282;
return r756283;
}



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 U < -7.411448247083684e-46Initial program 29.8
Simplified28.4
rmApplied sqr-pow28.4
Applied associate-*r*27.3
if -7.411448247083684e-46 < U < 2.469810196486197e-303Initial program 39.3
Simplified35.6
rmApplied sqr-pow35.6
Applied associate-*r*34.6
rmApplied add-cube-cbrt34.7
Applied *-un-lft-identity34.7
Applied times-frac34.7
Applied unpow-prod-down34.7
Applied associate-*r*34.9
Simplified34.9
rmApplied add-cube-cbrt35.1
Simplified37.2
Simplified32.9
if 2.469810196486197e-303 < U Initial program 34.2
Simplified31.3
rmApplied sqr-pow31.3
Applied associate-*r*30.2
rmApplied add-cube-cbrt30.3
Applied *-un-lft-identity30.3
Applied times-frac30.3
Applied unpow-prod-down30.3
Applied associate-*r*30.3
Simplified30.3
rmApplied sqrt-prod23.2
Simplified23.7
Final simplification27.0
herbie shell --seed 2019179
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))