Average Error: 10.5 → 10.5
Time: 13.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(\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 r81390 = 1.0;
        double r81391 = Om;
        double r81392 = Omc;
        double r81393 = r81391 / r81392;
        double r81394 = 2.0;
        double r81395 = pow(r81393, r81394);
        double r81396 = r81390 - r81395;
        double r81397 = t;
        double r81398 = l;
        double r81399 = r81397 / r81398;
        double r81400 = pow(r81399, r81394);
        double r81401 = r81394 * r81400;
        double r81402 = r81390 + r81401;
        double r81403 = r81396 / r81402;
        double r81404 = sqrt(r81403);
        double r81405 = asin(r81404);
        return r81405;
}

double f(double t, double l, double Om, double Omc) {
        double r81406 = 1.0;
        double r81407 = Om;
        double r81408 = Omc;
        double r81409 = r81407 / r81408;
        double r81410 = 2.0;
        double r81411 = pow(r81409, r81410);
        double r81412 = r81406 - r81411;
        double r81413 = t;
        double r81414 = l;
        double r81415 = r81413 / r81414;
        double r81416 = pow(r81415, r81410);
        double r81417 = r81410 * r81416;
        double r81418 = r81406 + r81417;
        double r81419 = r81412 / r81418;
        double r81420 = sqrt(r81419);
        double r81421 = asin(r81420);
        return r81421;
}

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

    \[\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.5

    \[\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 2020001 +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)))))))