Average Error: 10.1 → 10.1
Time: 25.9s
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(\frac{t}{\ell}\right)}^{2}}}\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(\frac{t}{\ell}\right)}^{2}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r46071 = 1.0;
        double r46072 = Om;
        double r46073 = Omc;
        double r46074 = r46072 / r46073;
        double r46075 = 2.0;
        double r46076 = pow(r46074, r46075);
        double r46077 = r46071 - r46076;
        double r46078 = t;
        double r46079 = l;
        double r46080 = r46078 / r46079;
        double r46081 = pow(r46080, r46075);
        double r46082 = r46075 * r46081;
        double r46083 = r46071 + r46082;
        double r46084 = r46077 / r46083;
        double r46085 = sqrt(r46084);
        double r46086 = asin(r46085);
        return r46086;
}

double f(double t, double l, double Om, double Omc) {
        double r46087 = 1.0;
        double r46088 = Om;
        double r46089 = Omc;
        double r46090 = r46088 / r46089;
        double r46091 = 2.0;
        double r46092 = pow(r46090, r46091);
        double r46093 = r46087 - r46092;
        double r46094 = t;
        double r46095 = l;
        double r46096 = r46094 / r46095;
        double r46097 = pow(r46096, r46091);
        double r46098 = r46091 * r46097;
        double r46099 = r46087 + r46098;
        double r46100 = r46093 / r46099;
        double r46101 = sqrt(r46100);
        double r46102 = asin(r46101);
        return r46102;
}

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 10.1

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

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

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

Reproduce

herbie shell --seed 2019196 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))