Average Error: 10.8 → 10.8
Time: 10.6s
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 r77195 = 1.0;
        double r77196 = Om;
        double r77197 = Omc;
        double r77198 = r77196 / r77197;
        double r77199 = 2.0;
        double r77200 = pow(r77198, r77199);
        double r77201 = r77195 - r77200;
        double r77202 = t;
        double r77203 = l;
        double r77204 = r77202 / r77203;
        double r77205 = pow(r77204, r77199);
        double r77206 = r77199 * r77205;
        double r77207 = r77195 + r77206;
        double r77208 = r77201 / r77207;
        double r77209 = sqrt(r77208);
        double r77210 = asin(r77209);
        return r77210;
}

double f(double t, double l, double Om, double Omc) {
        double r77211 = 1.0;
        double r77212 = Om;
        double r77213 = Omc;
        double r77214 = r77212 / r77213;
        double r77215 = 2.0;
        double r77216 = pow(r77214, r77215);
        double r77217 = r77211 - r77216;
        double r77218 = t;
        double r77219 = l;
        double r77220 = r77218 / r77219;
        double r77221 = pow(r77220, r77215);
        double r77222 = r77215 * r77221;
        double r77223 = r77211 + r77222;
        double r77224 = r77217 / r77223;
        double r77225 = sqrt(r77224);
        double r77226 = asin(r77225);
        return r77226;
}

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.8

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

    \[\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 2020039 +o rules:numerics
(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)))))))