\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 r62596 = 1.0;
double r62597 = Om;
double r62598 = Omc;
double r62599 = r62597 / r62598;
double r62600 = 2.0;
double r62601 = pow(r62599, r62600);
double r62602 = r62596 - r62601;
double r62603 = t;
double r62604 = l;
double r62605 = r62603 / r62604;
double r62606 = pow(r62605, r62600);
double r62607 = r62600 * r62606;
double r62608 = r62596 + r62607;
double r62609 = r62602 / r62608;
double r62610 = sqrt(r62609);
double r62611 = asin(r62610);
return r62611;
}
double f(double t, double l, double Om, double Omc) {
double r62612 = 1.0;
double r62613 = Om;
double r62614 = Omc;
double r62615 = r62613 / r62614;
double r62616 = 2.0;
double r62617 = pow(r62615, r62616);
double r62618 = r62612 - r62617;
double r62619 = t;
double r62620 = l;
double r62621 = r62619 / r62620;
double r62622 = pow(r62621, r62616);
double r62623 = r62616 * r62622;
double r62624 = r62612 + r62623;
double r62625 = r62618 / r62624;
double r62626 = sqrt(r62625);
double r62627 = asin(r62626);
return r62627;
}



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 2019305
(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)))))))