\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 r81390 = 1.0;
double r81391 = Om;
double r81392 = Omc;
double r81393 = r81391 / r81392;
double r81394 = 2.0;
double r81395 = pow(r81393, r81394);
double r81396 = r81390 - r81395;
double r81397 = t;
double r81398 = l;
double r81399 = r81397 / r81398;
double r81400 = pow(r81399, r81394);
double r81401 = r81394 * r81400;
double r81402 = r81390 + r81401;
double r81403 = r81396 / r81402;
double r81404 = sqrt(r81403);
double r81405 = asin(r81404);
return r81405;
}
double f(double t, double l, double Om, double Omc) {
double r81406 = 1.0;
double r81407 = Om;
double r81408 = Omc;
double r81409 = r81407 / r81408;
double r81410 = 2.0;
double r81411 = pow(r81409, r81410);
double r81412 = r81406 - r81411;
double r81413 = t;
double r81414 = l;
double r81415 = r81413 / r81414;
double r81416 = pow(r81415, r81410);
double r81417 = r81410 * r81416;
double r81418 = r81406 + r81417;
double r81419 = r81412 / r81418;
double r81420 = sqrt(r81419);
double r81421 = asin(r81420);
return r81421;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.5
Final simplification10.5
herbie shell --seed 2020001 +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)))))))