Average Error: 33.6 → 25.1
Time: 1.0m
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 4.028896961449788 \cdot 10^{+105}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \left(\sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)}\right)\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{2 \cdot \left(U \cdot n\right)}\\ \end{array}\]
double f(double n, double U, double t, double l, double Om, double U_) {
        double r7172069 = 2.0;
        double r7172070 = n;
        double r7172071 = r7172069 * r7172070;
        double r7172072 = U;
        double r7172073 = r7172071 * r7172072;
        double r7172074 = t;
        double r7172075 = l;
        double r7172076 = r7172075 * r7172075;
        double r7172077 = Om;
        double r7172078 = r7172076 / r7172077;
        double r7172079 = r7172069 * r7172078;
        double r7172080 = r7172074 - r7172079;
        double r7172081 = r7172075 / r7172077;
        double r7172082 = pow(r7172081, r7172069);
        double r7172083 = r7172070 * r7172082;
        double r7172084 = U_;
        double r7172085 = r7172072 - r7172084;
        double r7172086 = r7172083 * r7172085;
        double r7172087 = r7172080 - r7172086;
        double r7172088 = r7172073 * r7172087;
        double r7172089 = sqrt(r7172088);
        return r7172089;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r7172090 = t;
        double r7172091 = 4.028896961449788e+105;
        bool r7172092 = r7172090 <= r7172091;
        double r7172093 = 2.0;
        double r7172094 = n;
        double r7172095 = l;
        double r7172096 = Om;
        double r7172097 = r7172095 / r7172096;
        double r7172098 = r7172094 * r7172097;
        double r7172099 = U;
        double r7172100 = r7172098 * r7172099;
        double r7172101 = -2.0;
        double r7172102 = r7172095 * r7172101;
        double r7172103 = U_;
        double r7172104 = r7172099 - r7172103;
        double r7172105 = r7172098 * r7172104;
        double r7172106 = cbrt(r7172105);
        double r7172107 = r7172106 * r7172106;
        double r7172108 = r7172106 * r7172107;
        double r7172109 = r7172102 - r7172108;
        double r7172110 = r7172100 * r7172109;
        double r7172111 = r7172093 * r7172110;
        double r7172112 = r7172093 * r7172094;
        double r7172113 = r7172112 * r7172099;
        double r7172114 = r7172113 * r7172090;
        double r7172115 = r7172111 + r7172114;
        double r7172116 = sqrt(r7172115);
        double r7172117 = r7172093 * r7172095;
        double r7172118 = -r7172098;
        double r7172119 = r7172118 * r7172104;
        double r7172120 = r7172117 - r7172119;
        double r7172121 = r7172097 * r7172120;
        double r7172122 = r7172090 - r7172121;
        double r7172123 = sqrt(r7172122);
        double r7172124 = r7172099 * r7172094;
        double r7172125 = r7172093 * r7172124;
        double r7172126 = sqrt(r7172125);
        double r7172127 = r7172123 * r7172126;
        double r7172128 = r7172092 ? r7172116 : r7172127;
        return r7172128;
}

\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 4.028896961449788 \cdot 10^{+105}:\\
\;\;\;\;\sqrt{2 \cdot \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \left(\sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)}\right)\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\\

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

\end{array}

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 t < 4.028896961449788e+105

    1. Initial program 33.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. Using strategy rm
    3. Applied *-un-lft-identity33.1

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{\left(1 \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. Applied associate-*r*33.1

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

      \[\leadsto \sqrt{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right) \cdot \color{blue}{\left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(-\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)\right)}}\]
    6. Using strategy rm
    7. Applied sub-neg29.0

      \[\leadsto \sqrt{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right) \cdot \color{blue}{\left(t + \left(-\frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(-\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)\right)\right)}}\]
    8. Applied distribute-rgt-in29.0

      \[\leadsto \sqrt{\color{blue}{t \cdot \left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right) + \left(-\frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(-\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)\right) \cdot \left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right)}}\]
    9. Simplified25.3

      \[\leadsto \sqrt{t \cdot \left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right) + \color{blue}{\left(\left(\left(\frac{\ell}{Om} \cdot n\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \left(\frac{\ell}{Om} \cdot n\right) \cdot \left(U - U*\right)\right)\right) \cdot 2}}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt25.3

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

    if 4.028896961449788e+105 < 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. Using strategy rm
    3. Applied *-un-lft-identity36.2

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \color{blue}{\left(1 \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. Applied associate-*r*36.2

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

      \[\leadsto \sqrt{\left(\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1\right) \cdot \color{blue}{\left(t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(-\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)\right)}}\]
    6. Using strategy rm
    7. Applied sqrt-prod24.0

      \[\leadsto \color{blue}{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot 1} \cdot \sqrt{t - \frac{\ell}{Om} \cdot \left(\ell \cdot 2 - \left(-\left(U - U*\right) \cdot \left(\frac{\ell}{Om} \cdot n\right)\right)\right)}}\]
    8. Simplified24.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le 4.028896961449788 \cdot 10^{+105}:\\ \;\;\;\;\sqrt{2 \cdot \left(\left(\left(n \cdot \frac{\ell}{Om}\right) \cdot U\right) \cdot \left(\ell \cdot -2 - \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \left(\sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)}\right)\right)\right) + \left(\left(2 \cdot n\right) \cdot U\right) \cdot t}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{t - \frac{\ell}{Om} \cdot \left(2 \cdot \ell - \left(-n \cdot \frac{\ell}{Om}\right) \cdot \left(U - U*\right)\right)} \cdot \sqrt{2 \cdot \left(U \cdot n\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019101 
(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*))))))