\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{\frac{-1}{\ell}}{-1} \cdot t\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r66988 = 1.0;
double r66989 = Om;
double r66990 = Omc;
double r66991 = r66989 / r66990;
double r66992 = 2.0;
double r66993 = pow(r66991, r66992);
double r66994 = r66988 - r66993;
double r66995 = t;
double r66996 = l;
double r66997 = r66995 / r66996;
double r66998 = pow(r66997, r66992);
double r66999 = r66992 * r66998;
double r67000 = r66988 + r66999;
double r67001 = r66994 / r67000;
double r67002 = sqrt(r67001);
double r67003 = asin(r67002);
return r67003;
}
double f(double t, double l, double Om, double Omc) {
double r67004 = 1.0;
double r67005 = Om;
double r67006 = Omc;
double r67007 = r67005 / r67006;
double r67008 = 2.0;
double r67009 = pow(r67007, r67008);
double r67010 = r67004 - r67009;
double r67011 = -1.0;
double r67012 = l;
double r67013 = r67011 / r67012;
double r67014 = r67013 / r67011;
double r67015 = t;
double r67016 = r67014 * r67015;
double r67017 = pow(r67016, r67008);
double r67018 = r67008 * r67017;
double r67019 = r67004 + r67018;
double r67020 = r67010 / r67019;
double r67021 = sqrt(r67020);
double r67022 = asin(r67021);
return r67022;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
Taylor expanded around -inf 51.1
Simplified10.2
Final simplification10.2
herbie shell --seed 2019351
(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)))))))