Average Error: 10.1 → 10.1
Time: 1.2m
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 + {\left(\frac{Om}{Omc}\right)}^{2}\right) \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1\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 + {\left(\frac{Om}{Omc}\right)}^{2}\right) \cdot \left({\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1\right)}}\right)
double f(double t, double l, double Om, double Omc) {
        double r6113677 = 1.0;
        double r6113678 = Om;
        double r6113679 = Omc;
        double r6113680 = r6113678 / r6113679;
        double r6113681 = 2.0;
        double r6113682 = pow(r6113680, r6113681);
        double r6113683 = r6113677 - r6113682;
        double r6113684 = t;
        double r6113685 = l;
        double r6113686 = r6113684 / r6113685;
        double r6113687 = pow(r6113686, r6113681);
        double r6113688 = r6113681 * r6113687;
        double r6113689 = r6113677 + r6113688;
        double r6113690 = r6113683 / r6113689;
        double r6113691 = sqrt(r6113690);
        double r6113692 = asin(r6113691);
        return r6113692;
}

double f(double t, double l, double Om, double Omc) {
        double r6113693 = 1.0;
        double r6113694 = r6113693 * r6113693;
        double r6113695 = Om;
        double r6113696 = Omc;
        double r6113697 = r6113695 / r6113696;
        double r6113698 = 2.0;
        double r6113699 = pow(r6113697, r6113698);
        double r6113700 = r6113699 * r6113699;
        double r6113701 = r6113694 - r6113700;
        double r6113702 = r6113693 + r6113699;
        double r6113703 = t;
        double r6113704 = l;
        double r6113705 = r6113703 / r6113704;
        double r6113706 = pow(r6113705, r6113698);
        double r6113707 = r6113706 * r6113698;
        double r6113708 = r6113707 + r6113693;
        double r6113709 = r6113702 * r6113708;
        double r6113710 = r6113701 / r6113709;
        double r6113711 = sqrt(r6113710);
        double r6113712 = asin(r6113711);
        return r6113712;
}

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. Using strategy rm
  3. Applied flip--10.1

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

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

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

Reproduce

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