Average Error: 33.6 → 25.1
Time: 1.4m
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 r8509236 = 2.0;
        double r8509237 = n;
        double r8509238 = r8509236 * r8509237;
        double r8509239 = U;
        double r8509240 = r8509238 * r8509239;
        double r8509241 = t;
        double r8509242 = l;
        double r8509243 = r8509242 * r8509242;
        double r8509244 = Om;
        double r8509245 = r8509243 / r8509244;
        double r8509246 = r8509236 * r8509245;
        double r8509247 = r8509241 - r8509246;
        double r8509248 = r8509242 / r8509244;
        double r8509249 = pow(r8509248, r8509236);
        double r8509250 = r8509237 * r8509249;
        double r8509251 = U_;
        double r8509252 = r8509239 - r8509251;
        double r8509253 = r8509250 * r8509252;
        double r8509254 = r8509247 - r8509253;
        double r8509255 = r8509240 * r8509254;
        double r8509256 = sqrt(r8509255);
        return r8509256;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r8509257 = t;
        double r8509258 = 4.028896961449788e+105;
        bool r8509259 = r8509257 <= r8509258;
        double r8509260 = 2.0;
        double r8509261 = n;
        double r8509262 = l;
        double r8509263 = Om;
        double r8509264 = r8509262 / r8509263;
        double r8509265 = r8509261 * r8509264;
        double r8509266 = U;
        double r8509267 = r8509265 * r8509266;
        double r8509268 = -2.0;
        double r8509269 = r8509262 * r8509268;
        double r8509270 = U_;
        double r8509271 = r8509266 - r8509270;
        double r8509272 = r8509265 * r8509271;
        double r8509273 = cbrt(r8509272);
        double r8509274 = r8509273 * r8509273;
        double r8509275 = r8509273 * r8509274;
        double r8509276 = r8509269 - r8509275;
        double r8509277 = r8509267 * r8509276;
        double r8509278 = r8509260 * r8509277;
        double r8509279 = r8509260 * r8509261;
        double r8509280 = r8509279 * r8509266;
        double r8509281 = r8509280 * r8509257;
        double r8509282 = r8509278 + r8509281;
        double r8509283 = sqrt(r8509282);
        double r8509284 = r8509260 * r8509262;
        double r8509285 = -r8509265;
        double r8509286 = r8509285 * r8509271;
        double r8509287 = r8509284 - r8509286;
        double r8509288 = r8509264 * r8509287;
        double r8509289 = r8509257 - r8509288;
        double r8509290 = sqrt(r8509289);
        double r8509291 = r8509266 * r8509261;
        double r8509292 = r8509260 * r8509291;
        double r8509293 = sqrt(r8509292);
        double r8509294 = r8509290 * r8509293;
        double r8509295 = r8509259 ? r8509283 : r8509294;
        return r8509295;
}

\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*))))))