Average Error: 34.3 → 27.5
Time: 1.3m
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}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 0.0:\\ \;\;\;\;\sqrt{U} \cdot \sqrt{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\ \mathbf{elif}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 2.011064883377632084247727248295239346175 \cdot 10^{140}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\sqrt{2 \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot U\right)}} \cdot \sqrt{\sqrt{U \cdot \left(2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\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}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 0.0:\\
\;\;\;\;\sqrt{U} \cdot \sqrt{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right) \cdot \left(U - U*\right)\right)\right)\right)}\\

\mathbf{elif}\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \le 2.011064883377632084247727248295239346175 \cdot 10^{140}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - \frac{\ell \cdot \ell}{Om} \cdot 2\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r3019131 = 2.0;
        double r3019132 = n;
        double r3019133 = r3019131 * r3019132;
        double r3019134 = U;
        double r3019135 = r3019133 * r3019134;
        double r3019136 = t;
        double r3019137 = l;
        double r3019138 = r3019137 * r3019137;
        double r3019139 = Om;
        double r3019140 = r3019138 / r3019139;
        double r3019141 = r3019131 * r3019140;
        double r3019142 = r3019136 - r3019141;
        double r3019143 = r3019137 / r3019139;
        double r3019144 = pow(r3019143, r3019131);
        double r3019145 = r3019132 * r3019144;
        double r3019146 = U_;
        double r3019147 = r3019134 - r3019146;
        double r3019148 = r3019145 * r3019147;
        double r3019149 = r3019142 - r3019148;
        double r3019150 = r3019135 * r3019149;
        double r3019151 = sqrt(r3019150);
        return r3019151;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r3019152 = 2.0;
        double r3019153 = n;
        double r3019154 = r3019152 * r3019153;
        double r3019155 = U;
        double r3019156 = r3019154 * r3019155;
        double r3019157 = t;
        double r3019158 = l;
        double r3019159 = r3019158 * r3019158;
        double r3019160 = Om;
        double r3019161 = r3019159 / r3019160;
        double r3019162 = r3019161 * r3019152;
        double r3019163 = r3019157 - r3019162;
        double r3019164 = r3019158 / r3019160;
        double r3019165 = pow(r3019164, r3019152);
        double r3019166 = r3019153 * r3019165;
        double r3019167 = U_;
        double r3019168 = r3019155 - r3019167;
        double r3019169 = r3019166 * r3019168;
        double r3019170 = r3019163 - r3019169;
        double r3019171 = r3019156 * r3019170;
        double r3019172 = sqrt(r3019171);
        double r3019173 = 0.0;
        bool r3019174 = r3019172 <= r3019173;
        double r3019175 = sqrt(r3019155);
        double r3019176 = r3019152 * r3019158;
        double r3019177 = 2.0;
        double r3019178 = r3019152 / r3019177;
        double r3019179 = pow(r3019164, r3019178);
        double r3019180 = r3019153 * r3019179;
        double r3019181 = r3019179 * r3019180;
        double r3019182 = r3019181 * r3019168;
        double r3019183 = fma(r3019164, r3019176, r3019182);
        double r3019184 = r3019157 - r3019183;
        double r3019185 = r3019153 * r3019184;
        double r3019186 = r3019152 * r3019185;
        double r3019187 = sqrt(r3019186);
        double r3019188 = r3019175 * r3019187;
        double r3019189 = 2.011064883377632e+140;
        bool r3019190 = r3019172 <= r3019189;
        double r3019191 = r3019168 * r3019179;
        double r3019192 = r3019180 * r3019191;
        double r3019193 = fma(r3019164, r3019176, r3019192);
        double r3019194 = r3019157 - r3019193;
        double r3019195 = r3019153 * r3019194;
        double r3019196 = r3019195 * r3019155;
        double r3019197 = r3019152 * r3019196;
        double r3019198 = sqrt(r3019197);
        double r3019199 = sqrt(r3019198);
        double r3019200 = r3019152 * r3019195;
        double r3019201 = r3019155 * r3019200;
        double r3019202 = sqrt(r3019201);
        double r3019203 = sqrt(r3019202);
        double r3019204 = r3019199 * r3019203;
        double r3019205 = r3019190 ? r3019172 : r3019204;
        double r3019206 = r3019174 ? r3019188 : r3019205;
        return r3019206;
}

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 (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))) < 0.0

    1. Initial program 56.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. Simplified39.1

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

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \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)\right) \cdot 2\right)}\]
    5. Applied associate-*r*39.1

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \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)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied sqrt-prod38.9

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

    if 0.0 < (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))) < 2.011064883377632e+140

    1. Initial program 1.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)}\]

    if 2.011064883377632e+140 < (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))))

    1. Initial program 62.0

      \[\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. Simplified53.7

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

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \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)\right) \cdot 2\right)}\]
    5. Applied associate-*r*51.6

      \[\leadsto \sqrt{U \cdot \left(\left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \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)\right) \cdot 2\right)}\]
    6. Using strategy rm
    7. Applied associate-*l*51.4

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

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

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

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

Reproduce

herbie shell --seed 2019171 +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))