Average Error: 9.9 → 10.0
Time: 45.1s
Precision: 64
\[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
\[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot \left({\left(\sqrt{\frac{t}{\ell}}\right)}^{2} \cdot {\left(\sqrt{\frac{t}{\ell}}\right)}^{2}\right)}}\right)\]
\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)
\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot \left({\left(\sqrt{\frac{t}{\ell}}\right)}^{2} \cdot {\left(\sqrt{\frac{t}{\ell}}\right)}^{2}\right)}}\right)
double f(double t, double l, double Om, double Omc) {
        double r74054 = 1.0;
        double r74055 = Om;
        double r74056 = Omc;
        double r74057 = r74055 / r74056;
        double r74058 = 2.0;
        double r74059 = pow(r74057, r74058);
        double r74060 = r74054 - r74059;
        double r74061 = t;
        double r74062 = l;
        double r74063 = r74061 / r74062;
        double r74064 = pow(r74063, r74058);
        double r74065 = r74058 * r74064;
        double r74066 = r74054 + r74065;
        double r74067 = r74060 / r74066;
        double r74068 = sqrt(r74067);
        double r74069 = asin(r74068);
        return r74069;
}

double f(double t, double l, double Om, double Omc) {
        double r74070 = 1.0;
        double r74071 = Om;
        double r74072 = Omc;
        double r74073 = r74071 / r74072;
        double r74074 = 2.0;
        double r74075 = pow(r74073, r74074);
        double r74076 = r74070 - r74075;
        double r74077 = t;
        double r74078 = l;
        double r74079 = r74077 / r74078;
        double r74080 = sqrt(r74079);
        double r74081 = pow(r74080, r74074);
        double r74082 = r74081 * r74081;
        double r74083 = r74074 * r74082;
        double r74084 = r74070 + r74083;
        double r74085 = r74076 / r74084;
        double r74086 = sqrt(r74085);
        double r74087 = asin(r74086);
        return r74087;
}

Error

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus Omc

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 9.9

    \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt10.0

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\color{blue}{\left(\sqrt{\frac{t}{\ell}} \cdot \sqrt{\frac{t}{\ell}}\right)}}^{2}}}\right)\]
  4. Applied unpow-prod-down10.0

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot \color{blue}{\left({\left(\sqrt{\frac{t}{\ell}}\right)}^{2} \cdot {\left(\sqrt{\frac{t}{\ell}}\right)}^{2}\right)}}}\right)\]
  5. Final simplification10.0

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot \left({\left(\sqrt{\frac{t}{\ell}}\right)}^{2} \cdot {\left(\sqrt{\frac{t}{\ell}}\right)}^{2}\right)}}\right)\]

Reproduce

herbie shell --seed 2020046 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  :precision binary64
  (asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))