\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 r63909 = 1.0;
double r63910 = Om;
double r63911 = Omc;
double r63912 = r63910 / r63911;
double r63913 = 2.0;
double r63914 = pow(r63912, r63913);
double r63915 = r63909 - r63914;
double r63916 = t;
double r63917 = l;
double r63918 = r63916 / r63917;
double r63919 = pow(r63918, r63913);
double r63920 = r63913 * r63919;
double r63921 = r63909 + r63920;
double r63922 = r63915 / r63921;
double r63923 = sqrt(r63922);
double r63924 = asin(r63923);
return r63924;
}
double f(double t, double l, double Om, double Omc) {
double r63925 = 1.0;
double r63926 = Om;
double r63927 = Omc;
double r63928 = r63926 / r63927;
double r63929 = 2.0;
double r63930 = pow(r63928, r63929);
double r63931 = r63925 - r63930;
double r63932 = t;
double r63933 = l;
double r63934 = r63932 / r63933;
double r63935 = pow(r63934, r63929);
double r63936 = r63929 * r63935;
double r63937 = r63925 + r63936;
double r63938 = r63931 / r63937;
double r63939 = sqrt(r63938);
double r63940 = asin(r63939);
return r63940;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.6
Final simplification10.6
herbie shell --seed 2019208
(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)))))))