\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}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r2316050 = 1.0;
double r2316051 = Om;
double r2316052 = Omc;
double r2316053 = r2316051 / r2316052;
double r2316054 = 2.0;
double r2316055 = pow(r2316053, r2316054);
double r2316056 = r2316050 - r2316055;
double r2316057 = t;
double r2316058 = l;
double r2316059 = r2316057 / r2316058;
double r2316060 = pow(r2316059, r2316054);
double r2316061 = r2316054 * r2316060;
double r2316062 = r2316050 + r2316061;
double r2316063 = r2316056 / r2316062;
double r2316064 = sqrt(r2316063);
double r2316065 = asin(r2316064);
return r2316065;
}
double f(double t, double l, double Om, double Omc) {
double r2316066 = 1.0;
double r2316067 = Om;
double r2316068 = Omc;
double r2316069 = r2316067 / r2316068;
double r2316070 = 2.0;
double r2316071 = pow(r2316069, r2316070);
double r2316072 = r2316066 - r2316071;
double r2316073 = t;
double r2316074 = l;
double r2316075 = r2316073 / r2316074;
double r2316076 = pow(r2316075, r2316070);
double r2316077 = fma(r2316070, r2316076, r2316066);
double r2316078 = r2316072 / r2316077;
double r2316079 = sqrt(r2316078);
double r2316080 = asin(r2316079);
return r2316080;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.0
Simplified10.0
Final simplification10.0
herbie shell --seed 2019200 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))