Average Error: 35.1 → 30.3
Time: 27.0s
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}\;t \le 1.107792021201636059451602507424141564244 \cdot 10^{-270}:\\ \;\;\;\;\sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\ \mathbf{elif}\;t \le 1.51174147021885682423036982956155000926 \cdot 10^{-85} \lor \neg \left(t \le 7.621504539317107888119082308992872767109 \cdot 10^{111}\right):\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\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}\;t \le 1.107792021201636059451602507424141564244 \cdot 10^{-270}:\\
\;\;\;\;\sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\

\mathbf{elif}\;t \le 1.51174147021885682423036982956155000926 \cdot 10^{-85} \lor \neg \left(t \le 7.621504539317107888119082308992872767109 \cdot 10^{111}\right):\\
\;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r127325 = 2.0;
        double r127326 = n;
        double r127327 = r127325 * r127326;
        double r127328 = U;
        double r127329 = r127327 * r127328;
        double r127330 = t;
        double r127331 = l;
        double r127332 = r127331 * r127331;
        double r127333 = Om;
        double r127334 = r127332 / r127333;
        double r127335 = r127325 * r127334;
        double r127336 = r127330 - r127335;
        double r127337 = r127331 / r127333;
        double r127338 = pow(r127337, r127325);
        double r127339 = r127326 * r127338;
        double r127340 = U_;
        double r127341 = r127328 - r127340;
        double r127342 = r127339 * r127341;
        double r127343 = r127336 - r127342;
        double r127344 = r127329 * r127343;
        double r127345 = sqrt(r127344);
        return r127345;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r127346 = t;
        double r127347 = 1.107792021201636e-270;
        bool r127348 = r127346 <= r127347;
        double r127349 = 2.0;
        double r127350 = l;
        double r127351 = Om;
        double r127352 = r127351 / r127350;
        double r127353 = r127350 / r127352;
        double r127354 = n;
        double r127355 = r127350 / r127351;
        double r127356 = 2.0;
        double r127357 = r127349 / r127356;
        double r127358 = pow(r127355, r127357);
        double r127359 = r127354 * r127358;
        double r127360 = r127359 * r127358;
        double r127361 = U;
        double r127362 = U_;
        double r127363 = r127361 - r127362;
        double r127364 = r127360 * r127363;
        double r127365 = fma(r127349, r127353, r127364);
        double r127366 = r127346 - r127365;
        double r127367 = r127349 * r127354;
        double r127368 = r127366 * r127367;
        double r127369 = r127368 * r127361;
        double r127370 = sqrt(r127369);
        double r127371 = 1.5117414702188568e-85;
        bool r127372 = r127346 <= r127371;
        double r127373 = 7.621504539317108e+111;
        bool r127374 = r127346 <= r127373;
        double r127375 = !r127374;
        bool r127376 = r127372 || r127375;
        double r127377 = pow(r127355, r127349);
        double r127378 = r127354 * r127377;
        double r127379 = r127378 * r127363;
        double r127380 = fma(r127349, r127353, r127379);
        double r127381 = r127346 - r127380;
        double r127382 = sqrt(r127381);
        double r127383 = r127367 * r127361;
        double r127384 = sqrt(r127383);
        double r127385 = r127382 * r127384;
        double r127386 = r127366 * r127383;
        double r127387 = sqrt(r127386);
        double r127388 = r127376 ? r127385 : r127387;
        double r127389 = r127348 ? r127370 : r127388;
        return r127389;
}

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 3 regimes
  2. if t < 1.107792021201636e-270

    1. Initial program 35.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. Simplified35.5

      \[\leadsto \color{blue}{\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*32.8

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    5. Using strategy rm
    6. Applied associate-*r*32.8

      \[\leadsto \sqrt{\color{blue}{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}}\]
    7. Using strategy rm
    8. Applied sqr-pow32.8

      \[\leadsto \sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\]
    9. Applied associate-*r*31.6

      \[\leadsto \sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{\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)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\]

    if 1.107792021201636e-270 < t < 1.5117414702188568e-85 or 7.621504539317108e+111 < t

    1. Initial program 36.2

      \[\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. Simplified36.2

      \[\leadsto \color{blue}{\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*33.3

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

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

    if 1.5117414702188568e-85 < t < 7.621504539317108e+111

    1. Initial program 31.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. Simplified31.3

      \[\leadsto \color{blue}{\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell \cdot \ell}{Om}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}}\]
    3. Using strategy rm
    4. Applied associate-/l*28.4

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    5. Using strategy rm
    6. Applied sqr-pow28.4

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot \color{blue}{\left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)}\right) \cdot \left(U - U*\right)\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
    7. Applied associate-*r*27.5

      \[\leadsto \sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \color{blue}{\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)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification30.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 1.107792021201636059451602507424141564244 \cdot 10^{-270}:\\ \;\;\;\;\sqrt{\left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(2 \cdot n\right)\right) \cdot U}\\ \mathbf{elif}\;t \le 1.51174147021885682423036982956155000926 \cdot 10^{-85} \lor \neg \left(t \le 7.621504539317107888119082308992872767109 \cdot 10^{111}\right):\\ \;\;\;\;\sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{\left(2 \cdot n\right) \cdot U}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \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)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \end{array}\]

Reproduce

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