Average Error: 34.7 → 28.1
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}\;\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 \left(\left(\left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot n\right) \cdot 2\right)}\\ \mathbf{elif}\;\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 1.183773712422273433088837706435118557278 \cdot 10^{294}:\\ \;\;\;\;\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{2 \cdot \left(n \cdot \left(t - \mathsf{fma}\left(\frac{\ell}{Om} \cdot \ell, 2, \left(\left(U - U*\right) \cdot \left({\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot n\right)\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)\right)\right)} \cdot \sqrt{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}\;\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 \left(\left(\left(t - \mathsf{fma}\left(\frac{\ell}{Om}, 2 \cdot \ell, \left(\left(U - U*\right) \cdot {\left(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left({\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left(n \cdot {\ell}^{\left(\frac{2}{2}\right)}\right)\right)\right)\right) \cdot n\right) \cdot 2\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r3805101 = 2.0;
        double r3805102 = n;
        double r3805103 = r3805101 * r3805102;
        double r3805104 = U;
        double r3805105 = r3805103 * r3805104;
        double r3805106 = t;
        double r3805107 = l;
        double r3805108 = r3805107 * r3805107;
        double r3805109 = Om;
        double r3805110 = r3805108 / r3805109;
        double r3805111 = r3805101 * r3805110;
        double r3805112 = r3805106 - r3805111;
        double r3805113 = r3805107 / r3805109;
        double r3805114 = pow(r3805113, r3805101);
        double r3805115 = r3805102 * r3805114;
        double r3805116 = U_;
        double r3805117 = r3805104 - r3805116;
        double r3805118 = r3805115 * r3805117;
        double r3805119 = r3805112 - r3805118;
        double r3805120 = r3805105 * r3805119;
        double r3805121 = sqrt(r3805120);
        return r3805121;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r3805122 = 2.0;
        double r3805123 = n;
        double r3805124 = r3805122 * r3805123;
        double r3805125 = U;
        double r3805126 = r3805124 * r3805125;
        double r3805127 = t;
        double r3805128 = l;
        double r3805129 = r3805128 * r3805128;
        double r3805130 = Om;
        double r3805131 = r3805129 / r3805130;
        double r3805132 = r3805131 * r3805122;
        double r3805133 = r3805127 - r3805132;
        double r3805134 = r3805128 / r3805130;
        double r3805135 = pow(r3805134, r3805122);
        double r3805136 = r3805123 * r3805135;
        double r3805137 = U_;
        double r3805138 = r3805125 - r3805137;
        double r3805139 = r3805136 * r3805138;
        double r3805140 = r3805133 - r3805139;
        double r3805141 = r3805126 * r3805140;
        double r3805142 = 0.0;
        bool r3805143 = r3805141 <= r3805142;
        double r3805144 = r3805122 * r3805128;
        double r3805145 = 2.0;
        double r3805146 = r3805122 / r3805145;
        double r3805147 = pow(r3805134, r3805146);
        double r3805148 = r3805138 * r3805147;
        double r3805149 = 1.0;
        double r3805150 = r3805149 / r3805130;
        double r3805151 = pow(r3805150, r3805146);
        double r3805152 = pow(r3805128, r3805146);
        double r3805153 = r3805123 * r3805152;
        double r3805154 = r3805151 * r3805153;
        double r3805155 = r3805148 * r3805154;
        double r3805156 = fma(r3805134, r3805144, r3805155);
        double r3805157 = r3805127 - r3805156;
        double r3805158 = r3805157 * r3805123;
        double r3805159 = r3805158 * r3805122;
        double r3805160 = r3805125 * r3805159;
        double r3805161 = sqrt(r3805160);
        double r3805162 = 1.1837737124222734e+294;
        bool r3805163 = r3805141 <= r3805162;
        double r3805164 = sqrt(r3805141);
        double r3805165 = r3805134 * r3805128;
        double r3805166 = r3805147 * r3805123;
        double r3805167 = r3805138 * r3805166;
        double r3805168 = r3805167 * r3805147;
        double r3805169 = fma(r3805165, r3805122, r3805168);
        double r3805170 = r3805127 - r3805169;
        double r3805171 = r3805123 * r3805170;
        double r3805172 = r3805122 * r3805171;
        double r3805173 = sqrt(r3805172);
        double r3805174 = sqrt(r3805125);
        double r3805175 = r3805173 * r3805174;
        double r3805176 = r3805163 ? r3805164 : r3805175;
        double r3805177 = r3805143 ? r3805161 : r3805176;
        return r3805177;
}

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

    1. Initial program 57.1

      \[\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. Simplified40.4

      \[\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-pow40.4

      \[\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*38.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 associate-*l*38.0

      \[\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 div-inv38.0

      \[\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(\ell \cdot \frac{1}{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. Applied unpow-prod-down38.0

      \[\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({\ell}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{1}{Om}\right)}^{\left(\frac{2}{2}\right)}\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)}\]
    11. Applied associate-*r*38.4

      \[\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 {\ell}^{\left(\frac{2}{2}\right)}\right) \cdot {\left(\frac{1}{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)}\]

    if 0.0 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))) < 1.1837737124222734e+294

    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 1.1837737124222734e+294 < (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))

    1. Initial program 62.8

      \[\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. Simplified55.0

      \[\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-pow55.0

      \[\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*53.9

      \[\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*54.1

      \[\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-cube-cbrt54.1

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

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

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

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

Reproduce

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