\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 r70399 = 1.0;
double r70400 = Om;
double r70401 = Omc;
double r70402 = r70400 / r70401;
double r70403 = 2.0;
double r70404 = pow(r70402, r70403);
double r70405 = r70399 - r70404;
double r70406 = t;
double r70407 = l;
double r70408 = r70406 / r70407;
double r70409 = pow(r70408, r70403);
double r70410 = r70403 * r70409;
double r70411 = r70399 + r70410;
double r70412 = r70405 / r70411;
double r70413 = sqrt(r70412);
double r70414 = asin(r70413);
return r70414;
}
double f(double t, double l, double Om, double Omc) {
double r70415 = 1.0;
double r70416 = Om;
double r70417 = Omc;
double r70418 = r70416 / r70417;
double r70419 = 2.0;
double r70420 = pow(r70418, r70419);
double r70421 = r70415 - r70420;
double r70422 = t;
double r70423 = l;
double r70424 = r70422 / r70423;
double r70425 = pow(r70424, r70419);
double r70426 = r70419 * r70425;
double r70427 = r70415 + r70426;
double r70428 = r70421 / r70427;
double r70429 = sqrt(r70428);
double r70430 = asin(r70429);
return r70430;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
Final simplification10.3
herbie shell --seed 2019353
(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)))))))