Average Error: 35.0 → 27.6
Time: 14.9s
Precision: binary64
\[\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 - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \leq 3.5519390575117784 \cdot 10^{-118}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \left(\left(U* - U\right) \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)\right)\right)\right)\right)}\\ \mathbf{elif}\;\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)} \leq 1.8339046854584748 \cdot 10^{+139}:\\ \;\;\;\;\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)}\\ \mathbf{elif}\;\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)} \leq \infty:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \left(\left(U* - U\right) \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\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 - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)} \leq 3.5519390575117784 \cdot 10^{-118}:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \left(\left(U* - U\right) \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)\right)\right)\right)\right)}\\

\mathbf{elif}\;\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)} \leq 1.8339046854584748 \cdot 10^{+139}:\\
\;\;\;\;\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)}\\

\mathbf{elif}\;\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)} \leq \infty:\\
\;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)}\\

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

\end{array}
(FPCore (n U t l Om U*)
 :precision binary64
 (sqrt
  (*
   (* (* 2.0 n) U)
   (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))
(FPCore (n U t l Om U*)
 :precision binary64
 (if (<=
      (sqrt
       (*
        (* (* 2.0 n) U)
        (-
         (- t (* 2.0 (/ (* l l) Om)))
         (* (* n (pow (/ l Om) 2.0)) (- U U*)))))
      3.5519390575117784e-118)
   (sqrt
    (*
     (* 2.0 n)
     (*
      U
      (+
       t
       (*
        (/ l Om)
        (+
         (* l -2.0)
         (*
          n
          (*
           (/ (* (cbrt l) (cbrt l)) (* (cbrt Om) (cbrt Om)))
           (* (- U* U) (/ (cbrt l) (cbrt Om)))))))))))
   (if (<=
        (sqrt
         (*
          (* (* 2.0 n) U)
          (-
           (- t (* 2.0 (/ (* l l) Om)))
           (* (* n (pow (/ l Om) 2.0)) (- U U*)))))
        1.8339046854584748e+139)
     (sqrt
      (*
       (* (* 2.0 n) U)
       (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*)))))
     (if (<=
          (sqrt
           (*
            (* (* 2.0 n) U)
            (-
             (- t (* 2.0 (/ (* l l) Om)))
             (* (* n (pow (/ l Om) 2.0)) (- U U*)))))
          INFINITY)
       (*
        (sqrt (* (* 2.0 n) U))
        (sqrt (+ t (* (/ l Om) (+ (* l -2.0) (* n (* (/ l Om) (- U* U))))))))
       (sqrt
        (*
         (* 2.0 n)
         (*
          U
          (+
           t
           (*
            (/ l Om)
            (+
             (* l -2.0)
             (*
              n
              (*
               (/ (* (cbrt l) (cbrt l)) (* (cbrt Om) (cbrt Om)))
               (* (- U* U) (/ (cbrt l) (cbrt Om)))))))))))))))
double code(double n, double U, double t, double l, double Om, double U_42_) {
	return ((double) sqrt(((double) (((double) (((double) (2.0 * n)) * U)) * ((double) (((double) (t - ((double) (2.0 * (((double) (l * l)) / Om))))) - ((double) (((double) (n * ((double) pow((l / Om), 2.0)))) * ((double) (U - U_42_))))))))));
}
double code(double n, double U, double t, double l, double Om, double U_42_) {
	double tmp;
	if ((((double) sqrt(((double) (((double) (((double) (2.0 * n)) * U)) * ((double) (((double) (t - ((double) (2.0 * (((double) (l * l)) / Om))))) - ((double) (((double) (n * ((double) pow((l / Om), 2.0)))) * ((double) (U - U_42_)))))))))) <= 3.5519390575117784e-118)) {
		tmp = ((double) sqrt(((double) (((double) (2.0 * n)) * ((double) (U * ((double) (t + ((double) ((l / Om) * ((double) (((double) (l * -2.0)) + ((double) (n * ((double) ((((double) (((double) cbrt(l)) * ((double) cbrt(l)))) / ((double) (((double) cbrt(Om)) * ((double) cbrt(Om))))) * ((double) (((double) (U_42_ - U)) * (((double) cbrt(l)) / ((double) cbrt(Om)))))))))))))))))))));
	} else {
		double tmp_1;
		if ((((double) sqrt(((double) (((double) (((double) (2.0 * n)) * U)) * ((double) (((double) (t - ((double) (2.0 * (((double) (l * l)) / Om))))) - ((double) (((double) (n * ((double) pow((l / Om), 2.0)))) * ((double) (U - U_42_)))))))))) <= 1.8339046854584748e+139)) {
			tmp_1 = ((double) sqrt(((double) (((double) (((double) (2.0 * n)) * U)) * ((double) (((double) (t - ((double) (2.0 * (((double) (l * l)) / Om))))) - ((double) (((double) (n * ((double) pow((l / Om), 2.0)))) * ((double) (U - U_42_))))))))));
		} else {
			double tmp_2;
			if ((((double) sqrt(((double) (((double) (((double) (2.0 * n)) * U)) * ((double) (((double) (t - ((double) (2.0 * (((double) (l * l)) / Om))))) - ((double) (((double) (n * ((double) pow((l / Om), 2.0)))) * ((double) (U - U_42_)))))))))) <= ((double) INFINITY))) {
				tmp_2 = ((double) (((double) sqrt(((double) (((double) (2.0 * n)) * U)))) * ((double) sqrt(((double) (t + ((double) ((l / Om) * ((double) (((double) (l * -2.0)) + ((double) (n * ((double) ((l / Om) * ((double) (U_42_ - U))))))))))))))));
			} else {
				tmp_2 = ((double) sqrt(((double) (((double) (2.0 * n)) * ((double) (U * ((double) (t + ((double) ((l / Om) * ((double) (((double) (l * -2.0)) + ((double) (n * ((double) ((((double) (((double) cbrt(l)) * ((double) cbrt(l)))) / ((double) (((double) cbrt(Om)) * ((double) cbrt(Om))))) * ((double) (((double) (U_42_ - U)) * (((double) cbrt(l)) / ((double) cbrt(Om)))))))))))))))))))));
			}
			tmp_1 = tmp_2;
		}
		tmp = tmp_1;
	}
	return tmp;
}

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*

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*))))) < 3.5519390575117784e-118 or +inf.0 < (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*)))))

    1. Initial program 54.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. Simplified50.4

      \[\leadsto \color{blue}{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied associate-*l*_binary6442.2

      \[\leadsto \sqrt{\color{blue}{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)\right)\right)}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt_binary6442.2

      \[\leadsto \sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}} \cdot \left(U* - U\right)\right)\right)\right)\right)}\]
    7. Applied add-cube-cbrt_binary6442.2

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

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

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

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

    if 3.5519390575117784e-118 < (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*))))) < 1.83390468545847482e139

    1. Initial program 1.5

      \[\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.83390468545847482e139 < (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*))))) < +inf.0

    1. Initial program 60.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. Simplified50.6

      \[\leadsto \color{blue}{\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)\right)}}\]
    3. Using strategy rm
    4. Applied sqrt-prod_binary6447.6

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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)} \leq 3.5519390575117784 \cdot 10^{-118}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \left(\left(U* - U\right) \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)\right)\right)\right)\right)}\\ \mathbf{elif}\;\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)} \leq 1.8339046854584748 \cdot 10^{+139}:\\ \;\;\;\;\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)}\\ \mathbf{elif}\;\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)} \leq \infty:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\ell}{Om} \cdot \left(U* - U\right)\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(t + \frac{\ell}{Om} \cdot \left(\ell \cdot -2 + n \cdot \left(\frac{\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}}{\sqrt[3]{Om} \cdot \sqrt[3]{Om}} \cdot \left(\left(U* - U\right) \cdot \frac{\sqrt[3]{\ell}}{\sqrt[3]{Om}}\right)\right)\right)\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2020219 
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  :precision binary64
  (sqrt (* (* (* 2.0 n) U) (- (- t (* 2.0 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2.0)) (- U U*))))))