Average Error: 33.4 → 26.8
Time: 37.6s
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 -2.404830641220725 \cdot 10^{-23}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\ \mathbf{elif}\;U \le 2.988294289994973 \cdot 10^{+33}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\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 -2.404830641220725 \cdot 10^{-23}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(n \cdot \frac{\ell}{Om}\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right)}\\

\mathbf{elif}\;U \le 2.988294289994973 \cdot 10^{+33}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(\left(t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(\left(\left(\sqrt[3]{n} \cdot \sqrt[3]{n}\right) \cdot \left(\sqrt[3]{n} \cdot \frac{\ell}{Om}\right)\right) \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)\right) \cdot U\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r1606670 = 2.0;
        double r1606671 = n;
        double r1606672 = r1606670 * r1606671;
        double r1606673 = U;
        double r1606674 = r1606672 * r1606673;
        double r1606675 = t;
        double r1606676 = l;
        double r1606677 = r1606676 * r1606676;
        double r1606678 = Om;
        double r1606679 = r1606677 / r1606678;
        double r1606680 = r1606670 * r1606679;
        double r1606681 = r1606675 - r1606680;
        double r1606682 = r1606676 / r1606678;
        double r1606683 = pow(r1606682, r1606670);
        double r1606684 = r1606671 * r1606683;
        double r1606685 = U_;
        double r1606686 = r1606673 - r1606685;
        double r1606687 = r1606684 * r1606686;
        double r1606688 = r1606681 - r1606687;
        double r1606689 = r1606674 * r1606688;
        double r1606690 = sqrt(r1606689);
        return r1606690;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r1606691 = U;
        double r1606692 = -2.404830641220725e-23;
        bool r1606693 = r1606691 <= r1606692;
        double r1606694 = 2.0;
        double r1606695 = n;
        double r1606696 = r1606694 * r1606695;
        double r1606697 = r1606696 * r1606691;
        double r1606698 = t;
        double r1606699 = l;
        double r1606700 = Om;
        double r1606701 = r1606700 / r1606699;
        double r1606702 = r1606699 / r1606701;
        double r1606703 = r1606699 / r1606700;
        double r1606704 = r1606695 * r1606703;
        double r1606705 = r1606704 * r1606703;
        double r1606706 = U_;
        double r1606707 = r1606691 - r1606706;
        double r1606708 = r1606705 * r1606707;
        double r1606709 = fma(r1606694, r1606702, r1606708);
        double r1606710 = r1606698 - r1606709;
        double r1606711 = r1606697 * r1606710;
        double r1606712 = sqrt(r1606711);
        double r1606713 = 2.988294289994973e+33;
        bool r1606714 = r1606691 <= r1606713;
        double r1606715 = cbrt(r1606695);
        double r1606716 = r1606715 * r1606715;
        double r1606717 = r1606715 * r1606703;
        double r1606718 = r1606716 * r1606717;
        double r1606719 = r1606718 * r1606703;
        double r1606720 = r1606719 * r1606707;
        double r1606721 = fma(r1606694, r1606702, r1606720);
        double r1606722 = r1606698 - r1606721;
        double r1606723 = r1606722 * r1606691;
        double r1606724 = r1606696 * r1606723;
        double r1606725 = sqrt(r1606724);
        double r1606726 = r1606714 ? r1606725 : r1606712;
        double r1606727 = r1606693 ? r1606712 : r1606726;
        return r1606727;
}

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 < -2.404830641220725e-23 or 2.988294289994973e+33 < U

    1. Initial program 27.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 associate-*l*33.0

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

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

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

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

    if -2.404830641220725e-23 < U < 2.988294289994973e+33

    1. Initial program 36.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 associate-*l*33.3

      \[\leadsto \sqrt{\color{blue}{\left(2 \cdot n\right) \cdot \left(U \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)\right)}}\]
    4. Simplified30.0

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

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

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

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

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

Reproduce

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