\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 r71392 = 1.0;
double r71393 = Om;
double r71394 = Omc;
double r71395 = r71393 / r71394;
double r71396 = 2.0;
double r71397 = pow(r71395, r71396);
double r71398 = r71392 - r71397;
double r71399 = t;
double r71400 = l;
double r71401 = r71399 / r71400;
double r71402 = pow(r71401, r71396);
double r71403 = r71396 * r71402;
double r71404 = r71392 + r71403;
double r71405 = r71398 / r71404;
double r71406 = sqrt(r71405);
double r71407 = asin(r71406);
return r71407;
}
double f(double t, double l, double Om, double Omc) {
double r71408 = 1.0;
double r71409 = Om;
double r71410 = Omc;
double r71411 = r71409 / r71410;
double r71412 = 2.0;
double r71413 = pow(r71411, r71412);
double r71414 = r71408 - r71413;
double r71415 = t;
double r71416 = l;
double r71417 = r71415 / r71416;
double r71418 = pow(r71417, r71412);
double r71419 = r71412 * r71418;
double r71420 = r71408 + r71419;
double r71421 = r71414 / r71420;
double r71422 = sqrt(r71421);
double r71423 = asin(r71422);
return r71423;
}



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