Average Error: 10.3 → 10.3
Time: 20.8s
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}}{2 \cdot {\left(\frac{t}{\ell}\right)}^{2} + 1}}\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}}{2 \cdot {\left(\frac{t}{\ell}\right)}^{2} + 1}}\right)
double f(double t, double l, double Om, double Omc) {
        double r51782 = 1.0;
        double r51783 = Om;
        double r51784 = Omc;
        double r51785 = r51783 / r51784;
        double r51786 = 2.0;
        double r51787 = pow(r51785, r51786);
        double r51788 = r51782 - r51787;
        double r51789 = t;
        double r51790 = l;
        double r51791 = r51789 / r51790;
        double r51792 = pow(r51791, r51786);
        double r51793 = r51786 * r51792;
        double r51794 = r51782 + r51793;
        double r51795 = r51788 / r51794;
        double r51796 = sqrt(r51795);
        double r51797 = asin(r51796);
        return r51797;
}

double f(double t, double l, double Om, double Omc) {
        double r51798 = 1.0;
        double r51799 = Om;
        double r51800 = Omc;
        double r51801 = r51799 / r51800;
        double r51802 = 2.0;
        double r51803 = pow(r51801, r51802);
        double r51804 = r51798 - r51803;
        double r51805 = t;
        double r51806 = l;
        double r51807 = r51805 / r51806;
        double r51808 = pow(r51807, r51802);
        double r51809 = r51802 * r51808;
        double r51810 = r51809 + r51798;
        double r51811 = r51804 / r51810;
        double r51812 = sqrt(r51811);
        double r51813 = asin(r51812);
        return r51813;
}

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

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

    \[\leadsto \sin^{-1} \left(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\color{blue}{\sqrt{2 \cdot {\left(\frac{t}{\ell}\right)}^{2} + 1}}}\right)\]
  5. Using strategy rm
  6. Applied sqrt-undiv10.3

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

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

Reproduce

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