\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 r70940 = 1.0;
double r70941 = Om;
double r70942 = Omc;
double r70943 = r70941 / r70942;
double r70944 = 2.0;
double r70945 = pow(r70943, r70944);
double r70946 = r70940 - r70945;
double r70947 = t;
double r70948 = l;
double r70949 = r70947 / r70948;
double r70950 = pow(r70949, r70944);
double r70951 = r70944 * r70950;
double r70952 = r70940 + r70951;
double r70953 = r70946 / r70952;
double r70954 = sqrt(r70953);
double r70955 = asin(r70954);
return r70955;
}
double f(double t, double l, double Om, double Omc) {
double r70956 = 1.0;
double r70957 = Om;
double r70958 = Omc;
double r70959 = r70957 / r70958;
double r70960 = 2.0;
double r70961 = pow(r70959, r70960);
double r70962 = r70956 - r70961;
double r70963 = t;
double r70964 = l;
double r70965 = r70963 / r70964;
double r70966 = pow(r70965, r70960);
double r70967 = r70960 * r70966;
double r70968 = r70956 + r70967;
double r70969 = r70962 / r70968;
double r70970 = sqrt(r70969);
double r70971 = asin(r70970);
return r70971;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.0
Final simplification10.0
herbie shell --seed 2020042 +o rules:numerics
(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)))))))