\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 r64989 = 1.0;
double r64990 = Om;
double r64991 = Omc;
double r64992 = r64990 / r64991;
double r64993 = 2.0;
double r64994 = pow(r64992, r64993);
double r64995 = r64989 - r64994;
double r64996 = t;
double r64997 = l;
double r64998 = r64996 / r64997;
double r64999 = pow(r64998, r64993);
double r65000 = r64993 * r64999;
double r65001 = r64989 + r65000;
double r65002 = r64995 / r65001;
double r65003 = sqrt(r65002);
double r65004 = asin(r65003);
return r65004;
}
double f(double t, double l, double Om, double Omc) {
double r65005 = 1.0;
double r65006 = Om;
double r65007 = Omc;
double r65008 = r65006 / r65007;
double r65009 = 2.0;
double r65010 = pow(r65008, r65009);
double r65011 = r65005 - r65010;
double r65012 = t;
double r65013 = l;
double r65014 = r65012 / r65013;
double r65015 = pow(r65014, r65009);
double r65016 = r65009 * r65015;
double r65017 = r65005 + r65016;
double r65018 = r65011 / r65017;
double r65019 = sqrt(r65018);
double r65020 = asin(r65019);
return r65020;
}



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 2020089
(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)))))))