\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 -2.164770592264949 \cdot 10^{+29}:\\
\;\;\;\;{\left(t \cdot \left(n \cdot \left(2 \cdot U\right)\right) + \left(\frac{\ell}{Om} \cdot \left(n \cdot \left(2 \cdot U\right)\right)\right) \cdot \left(-2 \cdot \ell - \frac{U - U*}{\frac{Om}{\ell \cdot n}}\right)\right)}^{\frac{1}{2}}\\
\mathbf{elif}\;U \le 1.2507119813575732 \cdot 10^{-34}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(n \cdot 2\right)\right) \cdot t + \left(\left(-2 \cdot \ell - \left(U - U*\right) \cdot \frac{\ell}{\frac{Om}{n}}\right) \cdot \left(U \cdot \left(\left(\frac{1}{Om} \cdot n\right) \cdot \ell\right)\right)\right) \cdot 2}\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\left(U \cdot \left(n \cdot 2\right)\right) \cdot t + 2 \cdot \left(\left(U \cdot \left(\left(n \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right) \cdot \left(\frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}} \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)\right)\right) \cdot \left(-2 \cdot \ell - \left(U - U*\right) \cdot \frac{\ell}{\frac{Om}{n}}\right)\right)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r7643172 = 2.0;
double r7643173 = n;
double r7643174 = r7643172 * r7643173;
double r7643175 = U;
double r7643176 = r7643174 * r7643175;
double r7643177 = t;
double r7643178 = l;
double r7643179 = r7643178 * r7643178;
double r7643180 = Om;
double r7643181 = r7643179 / r7643180;
double r7643182 = r7643172 * r7643181;
double r7643183 = r7643177 - r7643182;
double r7643184 = r7643178 / r7643180;
double r7643185 = pow(r7643184, r7643172);
double r7643186 = r7643173 * r7643185;
double r7643187 = U_;
double r7643188 = r7643175 - r7643187;
double r7643189 = r7643186 * r7643188;
double r7643190 = r7643183 - r7643189;
double r7643191 = r7643176 * r7643190;
double r7643192 = sqrt(r7643191);
return r7643192;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r7643193 = U;
double r7643194 = -2.164770592264949e+29;
bool r7643195 = r7643193 <= r7643194;
double r7643196 = t;
double r7643197 = n;
double r7643198 = 2.0;
double r7643199 = r7643198 * r7643193;
double r7643200 = r7643197 * r7643199;
double r7643201 = r7643196 * r7643200;
double r7643202 = l;
double r7643203 = Om;
double r7643204 = r7643202 / r7643203;
double r7643205 = r7643204 * r7643200;
double r7643206 = -2.0;
double r7643207 = r7643206 * r7643202;
double r7643208 = U_;
double r7643209 = r7643193 - r7643208;
double r7643210 = r7643202 * r7643197;
double r7643211 = r7643203 / r7643210;
double r7643212 = r7643209 / r7643211;
double r7643213 = r7643207 - r7643212;
double r7643214 = r7643205 * r7643213;
double r7643215 = r7643201 + r7643214;
double r7643216 = 0.5;
double r7643217 = pow(r7643215, r7643216);
double r7643218 = 1.2507119813575732e-34;
bool r7643219 = r7643193 <= r7643218;
double r7643220 = r7643197 * r7643198;
double r7643221 = r7643193 * r7643220;
double r7643222 = r7643221 * r7643196;
double r7643223 = r7643203 / r7643197;
double r7643224 = r7643202 / r7643223;
double r7643225 = r7643209 * r7643224;
double r7643226 = r7643207 - r7643225;
double r7643227 = 1.0;
double r7643228 = r7643227 / r7643203;
double r7643229 = r7643228 * r7643197;
double r7643230 = r7643229 * r7643202;
double r7643231 = r7643193 * r7643230;
double r7643232 = r7643226 * r7643231;
double r7643233 = r7643232 * r7643198;
double r7643234 = r7643222 + r7643233;
double r7643235 = sqrt(r7643234);
double r7643236 = cbrt(r7643202);
double r7643237 = cbrt(r7643203);
double r7643238 = r7643236 / r7643237;
double r7643239 = r7643197 * r7643238;
double r7643240 = r7643238 * r7643238;
double r7643241 = r7643239 * r7643240;
double r7643242 = r7643193 * r7643241;
double r7643243 = r7643242 * r7643226;
double r7643244 = r7643198 * r7643243;
double r7643245 = r7643222 + r7643244;
double r7643246 = sqrt(r7643245);
double r7643247 = r7643219 ? r7643235 : r7643246;
double r7643248 = r7643195 ? r7643217 : r7643247;
return r7643248;
}



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 < -2.164770592264949e+29Initial program 28.2
rmApplied *-un-lft-identity28.2
Applied associate-*r*28.2
Simplified24.0
rmApplied sub-neg24.0
Applied distribute-rgt-in24.0
Simplified23.6
rmApplied pow123.6
Applied sqrt-pow123.6
Simplified23.4
if -2.164770592264949e+29 < U < 1.2507119813575732e-34Initial program 36.7
rmApplied *-un-lft-identity36.7
Applied associate-*r*36.7
Simplified32.9
rmApplied sub-neg32.9
Applied distribute-rgt-in32.9
Simplified27.2
Taylor expanded around inf 31.4
Simplified28.4
rmApplied div-inv28.4
Applied associate-*l*27.8
if 1.2507119813575732e-34 < U Initial program 27.8
rmApplied *-un-lft-identity27.8
Applied associate-*r*27.8
Simplified23.2
rmApplied sub-neg23.2
Applied distribute-rgt-in23.2
Simplified22.6
Taylor expanded around inf 25.2
Simplified22.6
rmApplied add-cube-cbrt22.7
Applied add-cube-cbrt22.8
Applied times-frac22.8
Applied associate-*l*22.6
Simplified22.6
Final simplification26.0
herbie shell --seed 2019120
(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*))))))