\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|\sqrt{\frac{1 - \frac{\frac{Om}{Omc} \cdot Om}{Omc}}{\frac{2}{\frac{\ell}{t} \cdot \frac{\ell}{t}} + 1}}\right|\right)double f(double t, double l, double Om, double Omc) {
double r2818275 = 1.0;
double r2818276 = Om;
double r2818277 = Omc;
double r2818278 = r2818276 / r2818277;
double r2818279 = 2.0;
double r2818280 = pow(r2818278, r2818279);
double r2818281 = r2818275 - r2818280;
double r2818282 = t;
double r2818283 = l;
double r2818284 = r2818282 / r2818283;
double r2818285 = pow(r2818284, r2818279);
double r2818286 = r2818279 * r2818285;
double r2818287 = r2818275 + r2818286;
double r2818288 = r2818281 / r2818287;
double r2818289 = sqrt(r2818288);
double r2818290 = asin(r2818289);
return r2818290;
}
double f(double t, double l, double Om, double Omc) {
double r2818291 = 1.0;
double r2818292 = Om;
double r2818293 = Omc;
double r2818294 = r2818292 / r2818293;
double r2818295 = r2818294 * r2818292;
double r2818296 = r2818295 / r2818293;
double r2818297 = r2818291 - r2818296;
double r2818298 = 2.0;
double r2818299 = l;
double r2818300 = t;
double r2818301 = r2818299 / r2818300;
double r2818302 = r2818301 * r2818301;
double r2818303 = r2818298 / r2818302;
double r2818304 = r2818303 + r2818291;
double r2818305 = r2818297 / r2818304;
double r2818306 = sqrt(r2818305);
double r2818307 = fabs(r2818306);
double r2818308 = asin(r2818307);
return r2818308;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 9.8
rmApplied add-sqr-sqrt9.8
Applied add-sqr-sqrt9.8
Applied times-frac9.8
Applied rem-sqrt-square9.8
Taylor expanded around inf 26.3
Simplified9.8
rmApplied associate-*l/9.8
Final simplification9.8
herbie shell --seed 2019172
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))