\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(\left|\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}} \cdot \left(\left|\sqrt[3]{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right| \cdot \sqrt{\sqrt[3]{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)}\right|\right)double f(double t, double l, double Om, double Omc) {
double r70004 = 1.0;
double r70005 = Om;
double r70006 = Omc;
double r70007 = r70005 / r70006;
double r70008 = 2.0;
double r70009 = pow(r70007, r70008);
double r70010 = r70004 - r70009;
double r70011 = t;
double r70012 = l;
double r70013 = r70011 / r70012;
double r70014 = pow(r70013, r70008);
double r70015 = r70008 * r70014;
double r70016 = r70004 + r70015;
double r70017 = r70010 / r70016;
double r70018 = sqrt(r70017);
double r70019 = asin(r70018);
return r70019;
}
double f(double t, double l, double Om, double Omc) {
double r70020 = 1.0;
double r70021 = Om;
double r70022 = Omc;
double r70023 = r70021 / r70022;
double r70024 = 2.0;
double r70025 = pow(r70023, r70024);
double r70026 = r70020 - r70025;
double r70027 = sqrt(r70026);
double r70028 = t;
double r70029 = l;
double r70030 = r70028 / r70029;
double r70031 = pow(r70030, r70024);
double r70032 = r70024 * r70031;
double r70033 = r70020 + r70032;
double r70034 = sqrt(r70033);
double r70035 = sqrt(r70034);
double r70036 = cbrt(r70034);
double r70037 = fabs(r70036);
double r70038 = sqrt(r70036);
double r70039 = r70037 * r70038;
double r70040 = r70035 * r70039;
double r70041 = r70027 / r70040;
double r70042 = fabs(r70041);
double r70043 = asin(r70042);
return r70043;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.4
rmApplied add-sqr-sqrt10.5
Applied add-sqr-sqrt10.5
Applied times-frac10.5
Applied rem-sqrt-square10.5
rmApplied add-sqr-sqrt10.5
Applied sqrt-prod10.5
rmApplied add-cube-cbrt10.6
Applied sqrt-prod10.6
Simplified10.6
Final simplification10.6
herbie shell --seed 2019350
(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)))))))