\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 r6954044 = 2.0;
double r6954045 = n;
double r6954046 = r6954044 * r6954045;
double r6954047 = U;
double r6954048 = r6954046 * r6954047;
double r6954049 = t;
double r6954050 = l;
double r6954051 = r6954050 * r6954050;
double r6954052 = Om;
double r6954053 = r6954051 / r6954052;
double r6954054 = r6954044 * r6954053;
double r6954055 = r6954049 - r6954054;
double r6954056 = r6954050 / r6954052;
double r6954057 = pow(r6954056, r6954044);
double r6954058 = r6954045 * r6954057;
double r6954059 = U_;
double r6954060 = r6954047 - r6954059;
double r6954061 = r6954058 * r6954060;
double r6954062 = r6954055 - r6954061;
double r6954063 = r6954048 * r6954062;
double r6954064 = sqrt(r6954063);
return r6954064;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r6954065 = U;
double r6954066 = -2.164770592264949e+29;
bool r6954067 = r6954065 <= r6954066;
double r6954068 = t;
double r6954069 = n;
double r6954070 = 2.0;
double r6954071 = r6954070 * r6954065;
double r6954072 = r6954069 * r6954071;
double r6954073 = r6954068 * r6954072;
double r6954074 = l;
double r6954075 = Om;
double r6954076 = r6954074 / r6954075;
double r6954077 = r6954076 * r6954072;
double r6954078 = -2.0;
double r6954079 = r6954078 * r6954074;
double r6954080 = U_;
double r6954081 = r6954065 - r6954080;
double r6954082 = r6954074 * r6954069;
double r6954083 = r6954075 / r6954082;
double r6954084 = r6954081 / r6954083;
double r6954085 = r6954079 - r6954084;
double r6954086 = r6954077 * r6954085;
double r6954087 = r6954073 + r6954086;
double r6954088 = 0.5;
double r6954089 = pow(r6954087, r6954088);
double r6954090 = 1.2507119813575732e-34;
bool r6954091 = r6954065 <= r6954090;
double r6954092 = r6954069 * r6954070;
double r6954093 = r6954065 * r6954092;
double r6954094 = r6954093 * r6954068;
double r6954095 = r6954075 / r6954069;
double r6954096 = r6954074 / r6954095;
double r6954097 = r6954081 * r6954096;
double r6954098 = r6954079 - r6954097;
double r6954099 = 1.0;
double r6954100 = r6954099 / r6954075;
double r6954101 = r6954100 * r6954069;
double r6954102 = r6954101 * r6954074;
double r6954103 = r6954065 * r6954102;
double r6954104 = r6954098 * r6954103;
double r6954105 = r6954104 * r6954070;
double r6954106 = r6954094 + r6954105;
double r6954107 = sqrt(r6954106);
double r6954108 = cbrt(r6954074);
double r6954109 = cbrt(r6954075);
double r6954110 = r6954108 / r6954109;
double r6954111 = r6954069 * r6954110;
double r6954112 = r6954110 * r6954110;
double r6954113 = r6954111 * r6954112;
double r6954114 = r6954065 * r6954113;
double r6954115 = r6954114 * r6954098;
double r6954116 = r6954070 * r6954115;
double r6954117 = r6954094 + r6954116;
double r6954118 = sqrt(r6954117);
double r6954119 = r6954091 ? r6954107 : r6954118;
double r6954120 = r6954067 ? r6954089 : r6954119;
return r6954120;
}



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*))))))