\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 r3162708 = 1.0;
double r3162709 = Om;
double r3162710 = Omc;
double r3162711 = r3162709 / r3162710;
double r3162712 = 2.0;
double r3162713 = pow(r3162711, r3162712);
double r3162714 = r3162708 - r3162713;
double r3162715 = t;
double r3162716 = l;
double r3162717 = r3162715 / r3162716;
double r3162718 = pow(r3162717, r3162712);
double r3162719 = r3162712 * r3162718;
double r3162720 = r3162708 + r3162719;
double r3162721 = r3162714 / r3162720;
double r3162722 = sqrt(r3162721);
double r3162723 = asin(r3162722);
return r3162723;
}
double f(double t, double l, double Om, double Omc) {
double r3162724 = 1.0;
double r3162725 = Om;
double r3162726 = Omc;
double r3162727 = r3162725 / r3162726;
double r3162728 = 2.0;
double r3162729 = pow(r3162727, r3162728);
double r3162730 = r3162724 - r3162729;
double r3162731 = t;
double r3162732 = l;
double r3162733 = r3162731 / r3162732;
double r3162734 = pow(r3162733, r3162728);
double r3162735 = r3162728 * r3162734;
double r3162736 = r3162724 + r3162735;
double r3162737 = r3162730 / r3162736;
double r3162738 = sqrt(r3162737);
double r3162739 = asin(r3162738);
return r3162739;
}



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