Average Error: 34.2 → 29.5
Time: 58.5s
Precision: 64
\[\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 -1.940008723640952345677526822975495146393 \cdot 10^{-211} \lor \neg \left(U \le 8.207218212748528392752952255389447458668 \cdot 10^{74}\right):\\ \;\;\;\;\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(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right)}\\ \end{array}\]
\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 -1.940008723640952345677526822975495146393 \cdot 10^{-211} \lor \neg \left(U \le 8.207218212748528392752952255389447458668 \cdot 10^{74}\right):\\
\;\;\;\;\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(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right)}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r169168 = 2.0;
        double r169169 = n;
        double r169170 = r169168 * r169169;
        double r169171 = U;
        double r169172 = r169170 * r169171;
        double r169173 = t;
        double r169174 = l;
        double r169175 = r169174 * r169174;
        double r169176 = Om;
        double r169177 = r169175 / r169176;
        double r169178 = r169168 * r169177;
        double r169179 = r169173 - r169178;
        double r169180 = r169174 / r169176;
        double r169181 = pow(r169180, r169168);
        double r169182 = r169169 * r169181;
        double r169183 = U_;
        double r169184 = r169171 - r169183;
        double r169185 = r169182 * r169184;
        double r169186 = r169179 - r169185;
        double r169187 = r169172 * r169186;
        double r169188 = sqrt(r169187);
        return r169188;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r169189 = U;
        double r169190 = -1.9400087236409523e-211;
        bool r169191 = r169189 <= r169190;
        double r169192 = 8.207218212748528e+74;
        bool r169193 = r169189 <= r169192;
        double r169194 = !r169193;
        bool r169195 = r169191 || r169194;
        double r169196 = 2.0;
        double r169197 = n;
        double r169198 = r169196 * r169197;
        double r169199 = r169198 * r169189;
        double r169200 = t;
        double r169201 = l;
        double r169202 = Om;
        double r169203 = r169201 / r169202;
        double r169204 = r169201 * r169203;
        double r169205 = r169196 * r169204;
        double r169206 = r169200 - r169205;
        double r169207 = cbrt(r169203);
        double r169208 = r169207 * r169207;
        double r169209 = pow(r169208, r169196);
        double r169210 = r169197 * r169209;
        double r169211 = pow(r169207, r169196);
        double r169212 = r169210 * r169211;
        double r169213 = U_;
        double r169214 = r169189 - r169213;
        double r169215 = r169212 * r169214;
        double r169216 = r169206 - r169215;
        double r169217 = r169199 * r169216;
        double r169218 = sqrt(r169217);
        double r169219 = r169196 * r169201;
        double r169220 = pow(r169203, r169196);
        double r169221 = r169220 * r169214;
        double r169222 = r169221 * r169197;
        double r169223 = fma(r169219, r169203, r169222);
        double r169224 = r169200 - r169223;
        double r169225 = r169189 * r169224;
        double r169226 = r169198 * r169225;
        double r169227 = sqrt(r169226);
        double r169228 = r169195 ? r169218 : r169227;
        return r169228;
}

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Derivation

  1. Split input into 2 regimes
  2. if U < -1.9400087236409523e-211 or 8.207218212748528e+74 < U

    1. Initial program 31.5

      \[\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)}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity31.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{1 \cdot Om}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac28.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\left(\frac{\ell}{1} \cdot \frac{\ell}{Om}\right)}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    5. Simplified28.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\color{blue}{\ell} \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt28.6

      \[\leadsto \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(n \cdot {\color{blue}{\left(\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right) \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    8. Applied unpow-prod-down28.6

      \[\leadsto \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(n \cdot \color{blue}{\left({\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2} \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right)}\right) \cdot \left(U - U*\right)\right)}\]
    9. Applied associate-*r*27.9

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) - \color{blue}{\left(\left(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right)} \cdot \left(U - U*\right)\right)}\]

    if -1.9400087236409523e-211 < U < 8.207218212748528e+74

    1. Initial program 37.1

      \[\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)}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity37.1

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{\color{blue}{1 \cdot Om}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Applied times-frac34.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\left(\frac{\ell}{1} \cdot \frac{\ell}{Om}\right)}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    5. Simplified34.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \left(\color{blue}{\ell} \cdot \frac{\ell}{Om}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    6. Using strategy rm
    7. Applied pow134.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{{\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)}^{1}}}\]
    8. Applied pow134.6

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot \color{blue}{{U}^{1}}\right) \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)}^{1}}\]
    9. Applied pow134.6

      \[\leadsto \sqrt{\left(\left(2 \cdot \color{blue}{{n}^{1}}\right) \cdot {U}^{1}\right) \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)}^{1}}\]
    10. Applied pow134.6

      \[\leadsto \sqrt{\left(\left(\color{blue}{{2}^{1}} \cdot {n}^{1}\right) \cdot {U}^{1}\right) \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)}^{1}}\]
    11. Applied pow-prod-down34.6

      \[\leadsto \sqrt{\left(\color{blue}{{\left(2 \cdot n\right)}^{1}} \cdot {U}^{1}\right) \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)}^{1}}\]
    12. Applied pow-prod-down34.6

      \[\leadsto \sqrt{\color{blue}{{\left(\left(2 \cdot n\right) \cdot U\right)}^{1}} \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)}^{1}}\]
    13. Applied pow-prod-down34.6

      \[\leadsto \sqrt{\color{blue}{{\left(\left(\left(2 \cdot n\right) \cdot U\right) \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)}^{1}}}\]
    14. Simplified31.1

      \[\leadsto \sqrt{{\color{blue}{\left(\left(U \cdot \left(t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right) \cdot \left(2 \cdot n\right)\right)}}^{1}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification29.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -1.940008723640952345677526822975495146393 \cdot 10^{-211} \lor \neg \left(U \le 8.207218212748528392752952255389447458668 \cdot 10^{74}\right):\\ \;\;\;\;\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(n \cdot {\left(\sqrt[3]{\frac{\ell}{Om}} \cdot \sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot {\left(\sqrt[3]{\frac{\ell}{Om}}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t - \mathsf{fma}\left(2 \cdot \ell, \frac{\ell}{Om}, \left({\left(\frac{\ell}{Om}\right)}^{2} \cdot \left(U - U*\right)\right) \cdot n\right)\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019304 +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*))))))