Average Error: 10.3 → 10.3
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 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\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 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\right)}}\right)
double f(double t, double l, double Om, double Omc) {
        double r81516 = 1.0;
        double r81517 = Om;
        double r81518 = Omc;
        double r81519 = r81517 / r81518;
        double r81520 = 2.0;
        double r81521 = pow(r81519, r81520);
        double r81522 = r81516 - r81521;
        double r81523 = t;
        double r81524 = l;
        double r81525 = r81523 / r81524;
        double r81526 = pow(r81525, r81520);
        double r81527 = r81520 * r81526;
        double r81528 = r81516 + r81527;
        double r81529 = r81522 / r81528;
        double r81530 = sqrt(r81529);
        double r81531 = asin(r81530);
        return r81531;
}

double f(double t, double l, double Om, double Omc) {
        double r81532 = 1.0;
        double r81533 = r81532 * r81532;
        double r81534 = Om;
        double r81535 = Omc;
        double r81536 = r81534 / r81535;
        double r81537 = 2.0;
        double r81538 = pow(r81536, r81537);
        double r81539 = r81538 * r81538;
        double r81540 = r81533 - r81539;
        double r81541 = t;
        double r81542 = l;
        double r81543 = r81541 / r81542;
        double r81544 = pow(r81543, r81537);
        double r81545 = r81537 * r81544;
        double r81546 = r81532 + r81545;
        double r81547 = r81532 + r81538;
        double r81548 = r81546 * r81547;
        double r81549 = r81540 / r81548;
        double r81550 = sqrt(r81549);
        double r81551 = asin(r81550);
        return r81551;
}

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

    \[\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 flip--10.3

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\color{blue}{\frac{1 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{1 + {\left(\frac{Om}{Omc}\right)}^{2}}}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  4. Applied associate-/l/10.3

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

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

Reproduce

herbie shell --seed 2019347 
(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)))))))