\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.56376693799834257 \cdot 10^{-130}:\\
\;\;\;\;\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(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \left(\sqrt[3]{n} \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(U - U*\right)\right)}\\
\mathbf{elif}\;U \le 8.6898223191579737 \cdot 10^{-140}:\\
\;\;\;\;\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(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(\sqrt[3]{\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)} \cdot \sqrt[3]{\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) \cdot \sqrt[3]{\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)}\\
\end{array}double f(double n, double U, double t, double l, double Om, double U_) {
double r217083 = 2.0;
double r217084 = n;
double r217085 = r217083 * r217084;
double r217086 = U;
double r217087 = r217085 * r217086;
double r217088 = t;
double r217089 = l;
double r217090 = r217089 * r217089;
double r217091 = Om;
double r217092 = r217090 / r217091;
double r217093 = r217083 * r217092;
double r217094 = r217088 - r217093;
double r217095 = r217089 / r217091;
double r217096 = pow(r217095, r217083);
double r217097 = r217084 * r217096;
double r217098 = U_;
double r217099 = r217086 - r217098;
double r217100 = r217097 * r217099;
double r217101 = r217094 - r217100;
double r217102 = r217087 * r217101;
double r217103 = sqrt(r217102);
return r217103;
}
double f(double n, double U, double t, double l, double Om, double U_) {
double r217104 = U;
double r217105 = -2.5637669379983426e-130;
bool r217106 = r217104 <= r217105;
double r217107 = 2.0;
double r217108 = n;
double r217109 = r217107 * r217108;
double r217110 = r217109 * r217104;
double r217111 = t;
double r217112 = l;
double r217113 = Om;
double r217114 = r217112 / r217113;
double r217115 = r217112 * r217114;
double r217116 = r217107 * r217115;
double r217117 = r217111 - r217116;
double r217118 = cbrt(r217108);
double r217119 = r217118 * r217118;
double r217120 = pow(r217114, r217107);
double r217121 = r217118 * r217120;
double r217122 = r217119 * r217121;
double r217123 = U_;
double r217124 = r217104 - r217123;
double r217125 = r217122 * r217124;
double r217126 = r217117 - r217125;
double r217127 = r217110 * r217126;
double r217128 = sqrt(r217127);
double r217129 = 8.689822319157974e-140;
bool r217130 = r217104 <= r217129;
double r217131 = r217108 * r217120;
double r217132 = r217131 * r217124;
double r217133 = r217117 - r217132;
double r217134 = r217104 * r217133;
double r217135 = r217109 * r217134;
double r217136 = sqrt(r217135);
double r217137 = 2.0;
double r217138 = r217107 / r217137;
double r217139 = pow(r217114, r217138);
double r217140 = r217108 * r217139;
double r217141 = r217140 * r217139;
double r217142 = r217141 * r217124;
double r217143 = r217117 - r217142;
double r217144 = cbrt(r217143);
double r217145 = r217144 * r217144;
double r217146 = r217145 * r217144;
double r217147 = r217110 * r217146;
double r217148 = sqrt(r217147);
double r217149 = r217130 ? r217136 : r217148;
double r217150 = r217106 ? r217128 : r217149;
return r217150;
}



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.5637669379983426e-130Initial program 30.0
rmApplied *-un-lft-identity30.0
Applied times-frac27.3
Simplified27.3
rmApplied add-cube-cbrt27.3
Applied associate-*l*27.3
if -2.5637669379983426e-130 < U < 8.689822319157974e-140Initial program 41.0
rmApplied *-un-lft-identity41.0
Applied times-frac39.0
Simplified39.0
rmApplied associate-*l*33.9
if 8.689822319157974e-140 < U Initial program 30.8
rmApplied *-un-lft-identity30.8
Applied times-frac27.9
Simplified27.9
rmApplied sqr-pow27.9
Applied associate-*r*27.0
rmApplied add-cube-cbrt27.4
Final simplification29.9
herbie shell --seed 2020036
(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*))))))