\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 r72977 = 1.0;
double r72978 = Om;
double r72979 = Omc;
double r72980 = r72978 / r72979;
double r72981 = 2.0;
double r72982 = pow(r72980, r72981);
double r72983 = r72977 - r72982;
double r72984 = t;
double r72985 = l;
double r72986 = r72984 / r72985;
double r72987 = pow(r72986, r72981);
double r72988 = r72981 * r72987;
double r72989 = r72977 + r72988;
double r72990 = r72983 / r72989;
double r72991 = sqrt(r72990);
double r72992 = asin(r72991);
return r72992;
}
double f(double t, double l, double Om, double Omc) {
double r72993 = 1.0;
double r72994 = Om;
double r72995 = Omc;
double r72996 = r72994 / r72995;
double r72997 = 2.0;
double r72998 = pow(r72996, r72997);
double r72999 = r72993 - r72998;
double r73000 = t;
double r73001 = l;
double r73002 = r73000 / r73001;
double r73003 = pow(r73002, r72997);
double r73004 = r72997 * r73003;
double r73005 = r72993 + r73004;
double r73006 = r72999 / r73005;
double r73007 = sqrt(r73006);
double r73008 = asin(r73007);
return r73008;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.0
Final simplification10.0
herbie shell --seed 2020042
(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)))))))