Average Error: 10.4 → 10.4
Time: 10.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}}{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 r74674 = 1.0;
        double r74675 = Om;
        double r74676 = Omc;
        double r74677 = r74675 / r74676;
        double r74678 = 2.0;
        double r74679 = pow(r74677, r74678);
        double r74680 = r74674 - r74679;
        double r74681 = t;
        double r74682 = l;
        double r74683 = r74681 / r74682;
        double r74684 = pow(r74683, r74678);
        double r74685 = r74678 * r74684;
        double r74686 = r74674 + r74685;
        double r74687 = r74680 / r74686;
        double r74688 = sqrt(r74687);
        double r74689 = asin(r74688);
        return r74689;
}

double f(double t, double l, double Om, double Omc) {
        double r74690 = 1.0;
        double r74691 = Om;
        double r74692 = Omc;
        double r74693 = r74691 / r74692;
        double r74694 = 2.0;
        double r74695 = pow(r74693, r74694);
        double r74696 = r74690 - r74695;
        double r74697 = t;
        double r74698 = l;
        double r74699 = r74697 / r74698;
        double r74700 = pow(r74699, r74694);
        double r74701 = r74694 * r74700;
        double r74702 = r74690 + r74701;
        double r74703 = r74696 / r74702;
        double r74704 = sqrt(r74703);
        double r74705 = asin(r74704);
        return r74705;
}

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

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

    \[\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 2020027 
(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)))))))