Average Error: 34.8 → 29.8
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 8.120471958061494211765127711129383515551 \cdot 10^{92}:\\ \;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{t - \mathsf{fma}\left(2, \frac{\ell}{\frac{Om}{\ell}}, \left(U - U*\right) \cdot \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{\left(2 \cdot \frac{2}{2}\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}\;t \le 8.120471958061494211765127711129383515551 \cdot 10^{92}:\\
\;\;\;\;\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\\

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

\end{array}
double f(double n, double U, double t, double l, double Om, double U_) {
        double r169778 = 2.0;
        double r169779 = n;
        double r169780 = r169778 * r169779;
        double r169781 = U;
        double r169782 = r169780 * r169781;
        double r169783 = t;
        double r169784 = l;
        double r169785 = r169784 * r169784;
        double r169786 = Om;
        double r169787 = r169785 / r169786;
        double r169788 = r169778 * r169787;
        double r169789 = r169783 - r169788;
        double r169790 = r169784 / r169786;
        double r169791 = pow(r169790, r169778);
        double r169792 = r169779 * r169791;
        double r169793 = U_;
        double r169794 = r169781 - r169793;
        double r169795 = r169792 * r169794;
        double r169796 = r169789 - r169795;
        double r169797 = r169782 * r169796;
        double r169798 = sqrt(r169797);
        return r169798;
}

double f(double n, double U, double t, double l, double Om, double U_) {
        double r169799 = t;
        double r169800 = 8.120471958061494e+92;
        bool r169801 = r169799 <= r169800;
        double r169802 = 2.0;
        double r169803 = n;
        double r169804 = r169802 * r169803;
        double r169805 = U;
        double r169806 = r169804 * r169805;
        double r169807 = l;
        double r169808 = Om;
        double r169809 = r169808 / r169807;
        double r169810 = r169807 / r169809;
        double r169811 = r169802 * r169810;
        double r169812 = r169799 - r169811;
        double r169813 = r169807 / r169808;
        double r169814 = 2.0;
        double r169815 = r169802 / r169814;
        double r169816 = pow(r169813, r169815);
        double r169817 = r169803 * r169816;
        double r169818 = cbrt(r169817);
        double r169819 = r169818 * r169818;
        double r169820 = r169819 * r169818;
        double r169821 = r169820 * r169816;
        double r169822 = U_;
        double r169823 = r169805 - r169822;
        double r169824 = r169821 * r169823;
        double r169825 = r169812 - r169824;
        double r169826 = r169806 * r169825;
        double r169827 = sqrt(r169826);
        double r169828 = sqrt(r169806);
        double r169829 = r169814 * r169815;
        double r169830 = pow(r169813, r169829);
        double r169831 = r169803 * r169830;
        double r169832 = r169823 * r169831;
        double r169833 = fma(r169802, r169810, r169832);
        double r169834 = r169799 - r169833;
        double r169835 = sqrt(r169834);
        double r169836 = r169828 * r169835;
        double r169837 = r169801 ? r169827 : r169836;
        return r169837;
}

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 < 8.120471958061494e+92

    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. Using strategy rm
    3. Applied associate-/l*31.4

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

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \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)}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt30.5

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(\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(\frac{\ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right) \cdot \left(U - U*\right)\right)}\]

    if 8.120471958061494e+92 < t

    1. Initial program 37.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)}\]
    2. Using strategy rm
    3. Applied associate-/l*35.0

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

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

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \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)}\]
    7. Using strategy rm
    8. Applied sqrt-prod25.9

      \[\leadsto \color{blue}{\sqrt{\left(2 \cdot n\right) \cdot U} \cdot \sqrt{\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \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)}}\]
    9. Simplified26.4

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

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

Reproduce

herbie shell --seed 2019326 +o rules:numerics
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  :precision binary64
  (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))