\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 r69476 = 1.0;
double r69477 = Om;
double r69478 = Omc;
double r69479 = r69477 / r69478;
double r69480 = 2.0;
double r69481 = pow(r69479, r69480);
double r69482 = r69476 - r69481;
double r69483 = t;
double r69484 = l;
double r69485 = r69483 / r69484;
double r69486 = pow(r69485, r69480);
double r69487 = r69480 * r69486;
double r69488 = r69476 + r69487;
double r69489 = r69482 / r69488;
double r69490 = sqrt(r69489);
double r69491 = asin(r69490);
return r69491;
}
double f(double t, double l, double Om, double Omc) {
double r69492 = 1.0;
double r69493 = Om;
double r69494 = Omc;
double r69495 = r69493 / r69494;
double r69496 = 2.0;
double r69497 = pow(r69495, r69496);
double r69498 = r69492 - r69497;
double r69499 = t;
double r69500 = l;
double r69501 = r69499 / r69500;
double r69502 = pow(r69501, r69496);
double r69503 = r69496 * r69502;
double r69504 = r69492 + r69503;
double r69505 = r69498 / r69504;
double r69506 = sqrt(r69505);
double r69507 = asin(r69506);
return r69507;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.9
Final simplification10.9
herbie shell --seed 2020036 +o rules:numerics
(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)))))))