\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 r5397375 = 1.0;
double r5397376 = Om;
double r5397377 = Omc;
double r5397378 = r5397376 / r5397377;
double r5397379 = 2.0;
double r5397380 = pow(r5397378, r5397379);
double r5397381 = r5397375 - r5397380;
double r5397382 = t;
double r5397383 = l;
double r5397384 = r5397382 / r5397383;
double r5397385 = pow(r5397384, r5397379);
double r5397386 = r5397379 * r5397385;
double r5397387 = r5397375 + r5397386;
double r5397388 = r5397381 / r5397387;
double r5397389 = sqrt(r5397388);
double r5397390 = asin(r5397389);
return r5397390;
}
double f(double t, double l, double Om, double Omc) {
double r5397391 = 1.0;
double r5397392 = Om;
double r5397393 = Omc;
double r5397394 = r5397392 / r5397393;
double r5397395 = 2.0;
double r5397396 = pow(r5397394, r5397395);
double r5397397 = r5397391 - r5397396;
double r5397398 = t;
double r5397399 = l;
double r5397400 = r5397398 / r5397399;
double r5397401 = pow(r5397400, r5397395);
double r5397402 = r5397395 * r5397401;
double r5397403 = r5397391 + r5397402;
double r5397404 = r5397397 / r5397403;
double r5397405 = sqrt(r5397404);
double r5397406 = asin(r5397405);
return r5397406;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.4
Final simplification10.4
herbie shell --seed 2019192
(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)))))))