\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;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.4
Final simplification10.4
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)))))))