Average Error: 10.5 → 10.5
Time: 12.5s
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 r81446 = 1.0;
        double r81447 = Om;
        double r81448 = Omc;
        double r81449 = r81447 / r81448;
        double r81450 = 2.0;
        double r81451 = pow(r81449, r81450);
        double r81452 = r81446 - r81451;
        double r81453 = t;
        double r81454 = l;
        double r81455 = r81453 / r81454;
        double r81456 = pow(r81455, r81450);
        double r81457 = r81450 * r81456;
        double r81458 = r81446 + r81457;
        double r81459 = r81452 / r81458;
        double r81460 = sqrt(r81459);
        double r81461 = asin(r81460);
        return r81461;
}

double f(double t, double l, double Om, double Omc) {
        double r81462 = 1.0;
        double r81463 = Om;
        double r81464 = Omc;
        double r81465 = r81463 / r81464;
        double r81466 = 2.0;
        double r81467 = pow(r81465, r81466);
        double r81468 = r81462 - r81467;
        double r81469 = t;
        double r81470 = l;
        double r81471 = r81469 / r81470;
        double r81472 = pow(r81471, r81466);
        double r81473 = r81466 * r81472;
        double r81474 = r81462 + r81473;
        double r81475 = r81468 / r81474;
        double r81476 = sqrt(r81475);
        double r81477 = asin(r81476);
        return r81477;
}

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)))))))