Average Error: 34.3 → 27.5
Time: 1.1m
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}\;n \le -1.712021468906686645219995359698905452875 \cdot 10^{-307}:\\ \;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right), t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right)\right) \cdot \left(2 \cdot n\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 \cdot n} \cdot \sqrt{\mathsf{fma}\left(U* - U, \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)}, t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right) \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}\;n \le -1.712021468906686645219995359698905452875 \cdot 10^{-307}:\\
\;\;\;\;\sqrt{\left(U \cdot \mathsf{fma}\left(U* - U, {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(\left({\left(\frac{1}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right) \cdot {\left(\frac{\ell}{\sqrt[3]{Om}}\right)}^{\left(\frac{2}{2}\right)}\right), t - 2 \cdot \left(\ell \cdot \frac{\ell}{Om}\right)\right)\right) \cdot \left(2 \cdot n\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r4948113 = 2.0;
        double r4948114 = n;
        double r4948115 = r4948113 * r4948114;
        double r4948116 = U;
        double r4948117 = r4948115 * r4948116;
        double r4948118 = t;
        double r4948119 = l;
        double r4948120 = r4948119 * r4948119;
        double r4948121 = Om;
        double r4948122 = r4948120 / r4948121;
        double r4948123 = r4948113 * r4948122;
        double r4948124 = r4948118 - r4948123;
        double r4948125 = r4948119 / r4948121;
        double r4948126 = pow(r4948125, r4948113);
        double r4948127 = r4948114 * r4948126;
        double r4948128 = U_;
        double r4948129 = r4948116 - r4948128;
        double r4948130 = r4948127 * r4948129;
        double r4948131 = r4948124 - r4948130;
        double r4948132 = r4948117 * r4948131;
        double r4948133 = sqrt(r4948132);
        return r4948133;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r4948134 = n;
        double r4948135 = -1.7120214689066866e-307;
        bool r4948136 = r4948134 <= r4948135;
        double r4948137 = U;
        double r4948138 = U_;
        double r4948139 = r4948138 - r4948137;
        double r4948140 = l;
        double r4948141 = Om;
        double r4948142 = r4948140 / r4948141;
        double r4948143 = 2.0;
        double r4948144 = 2.0;
        double r4948145 = r4948143 / r4948144;
        double r4948146 = pow(r4948142, r4948145);
        double r4948147 = 1.0;
        double r4948148 = cbrt(r4948141);
        double r4948149 = r4948148 * r4948148;
        double r4948150 = r4948147 / r4948149;
        double r4948151 = pow(r4948150, r4948145);
        double r4948152 = r4948151 * r4948134;
        double r4948153 = r4948140 / r4948148;
        double r4948154 = pow(r4948153, r4948145);
        double r4948155 = r4948152 * r4948154;
        double r4948156 = r4948146 * r4948155;
        double r4948157 = t;
        double r4948158 = r4948140 * r4948142;
        double r4948159 = r4948143 * r4948158;
        double r4948160 = r4948157 - r4948159;
        double r4948161 = fma(r4948139, r4948156, r4948160);
        double r4948162 = r4948137 * r4948161;
        double r4948163 = r4948143 * r4948134;
        double r4948164 = r4948162 * r4948163;
        double r4948165 = sqrt(r4948164);
        double r4948166 = sqrt(r4948163);
        double r4948167 = r4948134 * r4948146;
        double r4948168 = r4948167 * r4948146;
        double r4948169 = fma(r4948139, r4948168, r4948160);
        double r4948170 = r4948169 * r4948137;
        double r4948171 = sqrt(r4948170);
        double r4948172 = r4948166 * r4948171;
        double r4948173 = r4948136 ? r4948165 : r4948172;
        return r4948173;
}

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 n < -1.7120214689066866e-307

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

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

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

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

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

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \mathsf{fma}\left(U* - U, \left(n \cdot {\left(\frac{\ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}, t - \left(\frac{\ell}{Om} \cdot \ell\right) \cdot 2\right)\right)}\]
    10. Applied *-un-lft-identity31.7

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

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

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

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

    if -1.7120214689066866e-307 < n

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

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

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

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

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

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

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