\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 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r81516 = 1.0;
double r81517 = Om;
double r81518 = Omc;
double r81519 = r81517 / r81518;
double r81520 = 2.0;
double r81521 = pow(r81519, r81520);
double r81522 = r81516 - r81521;
double r81523 = t;
double r81524 = l;
double r81525 = r81523 / r81524;
double r81526 = pow(r81525, r81520);
double r81527 = r81520 * r81526;
double r81528 = r81516 + r81527;
double r81529 = r81522 / r81528;
double r81530 = sqrt(r81529);
double r81531 = asin(r81530);
return r81531;
}
double f(double t, double l, double Om, double Omc) {
double r81532 = 1.0;
double r81533 = r81532 * r81532;
double r81534 = Om;
double r81535 = Omc;
double r81536 = r81534 / r81535;
double r81537 = 2.0;
double r81538 = pow(r81536, r81537);
double r81539 = r81538 * r81538;
double r81540 = r81533 - r81539;
double r81541 = t;
double r81542 = l;
double r81543 = r81541 / r81542;
double r81544 = pow(r81543, r81537);
double r81545 = r81537 * r81544;
double r81546 = r81532 + r81545;
double r81547 = r81532 + r81538;
double r81548 = r81546 * r81547;
double r81549 = r81540 / r81548;
double r81550 = sqrt(r81549);
double r81551 = asin(r81550);
return r81551;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
rmApplied flip--10.3
Applied associate-/l/10.3
Final simplification10.3
herbie shell --seed 2019347
(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)))))))