Average Error: 33.0 → 29.2
Time: 3.6m
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 7.461198993856924 \cdot 10^{-210}:\\ \;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, \left(t - \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right)\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \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 7.461198993856924 \cdot 10^{-210}:\\
\;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r28650277 = 2.0;
        double r28650278 = n;
        double r28650279 = r28650277 * r28650278;
        double r28650280 = U;
        double r28650281 = r28650279 * r28650280;
        double r28650282 = t;
        double r28650283 = l;
        double r28650284 = r28650283 * r28650283;
        double r28650285 = Om;
        double r28650286 = r28650284 / r28650285;
        double r28650287 = r28650277 * r28650286;
        double r28650288 = r28650282 - r28650287;
        double r28650289 = r28650283 / r28650285;
        double r28650290 = pow(r28650289, r28650277);
        double r28650291 = r28650278 * r28650290;
        double r28650292 = U_;
        double r28650293 = r28650280 - r28650292;
        double r28650294 = r28650291 * r28650293;
        double r28650295 = r28650288 - r28650294;
        double r28650296 = r28650281 * r28650295;
        double r28650297 = sqrt(r28650296);
        return r28650297;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r28650298 = U;
        double r28650299 = 7.461198993856924e-210;
        bool r28650300 = r28650298 <= r28650299;
        double r28650301 = t;
        double r28650302 = l;
        double r28650303 = Om;
        double r28650304 = cbrt(r28650303);
        double r28650305 = r28650302 / r28650304;
        double r28650306 = r28650304 * r28650304;
        double r28650307 = r28650302 / r28650306;
        double r28650308 = r28650305 * r28650307;
        double r28650309 = 2.0;
        double r28650310 = r28650308 * r28650309;
        double r28650311 = r28650301 - r28650310;
        double r28650312 = U_;
        double r28650313 = r28650298 - r28650312;
        double r28650314 = n;
        double r28650315 = r28650302 / r28650303;
        double r28650316 = pow(r28650315, r28650309);
        double r28650317 = r28650314 * r28650316;
        double r28650318 = r28650313 * r28650317;
        double r28650319 = r28650311 - r28650318;
        double r28650320 = r28650309 * r28650314;
        double r28650321 = r28650320 * r28650298;
        double r28650322 = r28650319 * r28650321;
        double r28650323 = sqrt(r28650322);
        double r28650324 = r28650305 * r28650305;
        double r28650325 = r28650324 / r28650304;
        double r28650326 = -2.0;
        double r28650327 = r28650315 * r28650315;
        double r28650328 = r28650327 * r28650314;
        double r28650329 = r28650313 * r28650328;
        double r28650330 = r28650301 - r28650329;
        double r28650331 = fma(r28650325, r28650326, r28650330);
        double r28650332 = r28650331 * r28650314;
        double r28650333 = sqrt(r28650332);
        double r28650334 = r28650309 * r28650298;
        double r28650335 = sqrt(r28650334);
        double r28650336 = r28650333 * r28650335;
        double r28650337 = r28650300 ? r28650323 : r28650336;
        return r28650337;
}

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 < 7.461198993856924e-210

    1. Initial program 34.7

      \[\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 add-cube-cbrt34.8

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

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

    if 7.461198993856924e-210 < U

    1. Initial program 30.3

      \[\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 add-cube-cbrt30.4

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

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

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

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

      \[\leadsto \sqrt{\left(\color{blue}{{\left(2 \cdot n\right)}^{1}} \cdot {U}^{1}\right) \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    9. Applied pow-prod-down27.6

      \[\leadsto \sqrt{\color{blue}{{\left(\left(2 \cdot n\right) \cdot U\right)}^{1}} \cdot {\left(\left(t - 2 \cdot \left(\frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}\right)\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}^{1}}\]
    10. Applied pow-prod-down27.6

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

      \[\leadsto \sqrt{{\color{blue}{\left(\left(\left(\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, t\right) - \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)\right) \cdot n\right) \cdot \left(U \cdot 2\right)\right)}}^{1}}\]
    12. Using strategy rm
    13. Applied unpow-prod-down29.4

      \[\leadsto \sqrt{\color{blue}{{\left(\left(\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, t\right) - \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)\right) \cdot n\right)}^{1} \cdot {\left(U \cdot 2\right)}^{1}}}\]
    14. Applied sqrt-prod24.0

      \[\leadsto \color{blue}{\sqrt{{\left(\left(\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, t\right) - \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right) \cdot \left(U - U*\right)\right) \cdot n\right)}^{1}} \cdot \sqrt{{\left(U \cdot 2\right)}^{1}}}\]
    15. Simplified24.0

      \[\leadsto \color{blue}{\sqrt{n \cdot \mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, \left(t - \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right)\right)\right)}} \cdot \sqrt{{\left(U \cdot 2\right)}^{1}}\]
    16. Simplified24.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le 7.461198993856924 \cdot 10^{-210}:\\ \;\;\;\;\sqrt{\left(\left(t - \left(\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right) \cdot 2\right) - \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\mathsf{fma}\left(\left(\frac{\frac{\ell}{\sqrt[3]{Om}} \cdot \frac{\ell}{\sqrt[3]{Om}}}{\sqrt[3]{Om}}\right), -2, \left(t - \left(U - U*\right) \cdot \left(\left(\frac{\ell}{Om} \cdot \frac{\ell}{Om}\right) \cdot n\right)\right)\right) \cdot n} \cdot \sqrt{2 \cdot U}\\ \end{array}\]

Reproduce

herbie shell --seed 2019128 +o rules:numerics
(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*))))))