\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 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r59842 = 1.0;
double r59843 = Om;
double r59844 = Omc;
double r59845 = r59843 / r59844;
double r59846 = 2.0;
double r59847 = pow(r59845, r59846);
double r59848 = r59842 - r59847;
double r59849 = t;
double r59850 = l;
double r59851 = r59849 / r59850;
double r59852 = pow(r59851, r59846);
double r59853 = r59846 * r59852;
double r59854 = r59842 + r59853;
double r59855 = r59848 / r59854;
double r59856 = sqrt(r59855);
double r59857 = asin(r59856);
return r59857;
}
double f(double t, double l, double Om, double Omc) {
double r59858 = 1.0;
double r59859 = r59858 * r59858;
double r59860 = Om;
double r59861 = Omc;
double r59862 = r59860 / r59861;
double r59863 = 2.0;
double r59864 = pow(r59862, r59863);
double r59865 = r59864 * r59864;
double r59866 = r59859 - r59865;
double r59867 = t;
double r59868 = l;
double r59869 = r59867 / r59868;
double r59870 = pow(r59869, r59863);
double r59871 = r59863 * r59870;
double r59872 = r59858 + r59871;
double r59873 = r59858 + r59864;
double r59874 = r59872 * r59873;
double r59875 = r59866 / r59874;
double r59876 = sqrt(r59875);
double r59877 = asin(r59876);
return r59877;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
rmApplied flip--10.3
Applied associate-/l/10.3
Final simplification10.3
herbie shell --seed 2019347
(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)))))))