\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 r59581 = 1.0;
double r59582 = Om;
double r59583 = Omc;
double r59584 = r59582 / r59583;
double r59585 = 2.0;
double r59586 = pow(r59584, r59585);
double r59587 = r59581 - r59586;
double r59588 = t;
double r59589 = l;
double r59590 = r59588 / r59589;
double r59591 = pow(r59590, r59585);
double r59592 = r59585 * r59591;
double r59593 = r59581 + r59592;
double r59594 = r59587 / r59593;
double r59595 = sqrt(r59594);
double r59596 = asin(r59595);
return r59596;
}
double f(double t, double l, double Om, double Omc) {
double r59597 = 1.0;
double r59598 = Om;
double r59599 = Omc;
double r59600 = r59598 / r59599;
double r59601 = 2.0;
double r59602 = pow(r59600, r59601);
double r59603 = r59597 - r59602;
double r59604 = t;
double r59605 = l;
double r59606 = r59604 / r59605;
double r59607 = pow(r59606, r59601);
double r59608 = r59601 * r59607;
double r59609 = r59597 + r59608;
double r59610 = r59603 / r59609;
double r59611 = sqrt(r59610);
double r59612 = asin(r59611);
return r59612;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.2
Final simplification10.2
herbie shell --seed 2019298
(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)))))))