\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 r80987 = 1.0;
double r80988 = Om;
double r80989 = Omc;
double r80990 = r80988 / r80989;
double r80991 = 2.0;
double r80992 = pow(r80990, r80991);
double r80993 = r80987 - r80992;
double r80994 = t;
double r80995 = l;
double r80996 = r80994 / r80995;
double r80997 = pow(r80996, r80991);
double r80998 = r80991 * r80997;
double r80999 = r80987 + r80998;
double r81000 = r80993 / r80999;
double r81001 = sqrt(r81000);
double r81002 = asin(r81001);
return r81002;
}
double f(double t, double l, double Om, double Omc) {
double r81003 = 1.0;
double r81004 = Om;
double r81005 = Omc;
double r81006 = r81004 / r81005;
double r81007 = 2.0;
double r81008 = pow(r81006, r81007);
double r81009 = r81003 - r81008;
double r81010 = t;
double r81011 = l;
double r81012 = r81010 / r81011;
double r81013 = pow(r81012, r81007);
double r81014 = r81007 * r81013;
double r81015 = r81003 + r81014;
double r81016 = r81009 / r81015;
double r81017 = sqrt(r81016);
double r81018 = asin(r81017);
return r81018;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
Final simplification10.1
herbie shell --seed 2020043
(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)))))))