\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 r72719 = 1.0;
double r72720 = Om;
double r72721 = Omc;
double r72722 = r72720 / r72721;
double r72723 = 2.0;
double r72724 = pow(r72722, r72723);
double r72725 = r72719 - r72724;
double r72726 = t;
double r72727 = l;
double r72728 = r72726 / r72727;
double r72729 = pow(r72728, r72723);
double r72730 = r72723 * r72729;
double r72731 = r72719 + r72730;
double r72732 = r72725 / r72731;
double r72733 = sqrt(r72732);
double r72734 = asin(r72733);
return r72734;
}
double f(double t, double l, double Om, double Omc) {
double r72735 = 1.0;
double r72736 = Om;
double r72737 = Omc;
double r72738 = r72736 / r72737;
double r72739 = 2.0;
double r72740 = pow(r72738, r72739);
double r72741 = r72735 - r72740;
double r72742 = t;
double r72743 = l;
double r72744 = r72742 / r72743;
double r72745 = pow(r72744, r72739);
double r72746 = r72739 * r72745;
double r72747 = r72735 + r72746;
double r72748 = r72741 / r72747;
double r72749 = sqrt(r72748);
double r72750 = asin(r72749);
return r72750;
}



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