\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 r84557 = 1.0;
double r84558 = Om;
double r84559 = Omc;
double r84560 = r84558 / r84559;
double r84561 = 2.0;
double r84562 = pow(r84560, r84561);
double r84563 = r84557 - r84562;
double r84564 = t;
double r84565 = l;
double r84566 = r84564 / r84565;
double r84567 = pow(r84566, r84561);
double r84568 = r84561 * r84567;
double r84569 = r84557 + r84568;
double r84570 = r84563 / r84569;
double r84571 = sqrt(r84570);
double r84572 = asin(r84571);
return r84572;
}
double f(double t, double l, double Om, double Omc) {
double r84573 = 1.0;
double r84574 = Om;
double r84575 = Omc;
double r84576 = r84574 / r84575;
double r84577 = 2.0;
double r84578 = pow(r84576, r84577);
double r84579 = r84573 - r84578;
double r84580 = t;
double r84581 = l;
double r84582 = r84580 / r84581;
double r84583 = pow(r84582, r84577);
double r84584 = r84577 * r84583;
double r84585 = r84573 + r84584;
double r84586 = r84579 / r84585;
double r84587 = sqrt(r84586);
double r84588 = asin(r84587);
return r84588;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.6
Final simplification10.6
herbie shell --seed 2019322
(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)))))))