\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}}{{\left(\frac{1}{\frac{\ell}{t}}\right)}^{2} \cdot 2 + 1}}\right)double f(double t, double l, double Om, double Omc) {
double r55367 = 1.0;
double r55368 = Om;
double r55369 = Omc;
double r55370 = r55368 / r55369;
double r55371 = 2.0;
double r55372 = pow(r55370, r55371);
double r55373 = r55367 - r55372;
double r55374 = t;
double r55375 = l;
double r55376 = r55374 / r55375;
double r55377 = pow(r55376, r55371);
double r55378 = r55371 * r55377;
double r55379 = r55367 + r55378;
double r55380 = r55373 / r55379;
double r55381 = sqrt(r55380);
double r55382 = asin(r55381);
return r55382;
}
double f(double t, double l, double Om, double Omc) {
double r55383 = 1.0;
double r55384 = Om;
double r55385 = Omc;
double r55386 = r55384 / r55385;
double r55387 = 2.0;
double r55388 = pow(r55386, r55387);
double r55389 = r55383 - r55388;
double r55390 = 1.0;
double r55391 = l;
double r55392 = t;
double r55393 = r55391 / r55392;
double r55394 = r55390 / r55393;
double r55395 = pow(r55394, r55387);
double r55396 = r55395 * r55387;
double r55397 = r55396 + r55383;
double r55398 = r55389 / r55397;
double r55399 = sqrt(r55398);
double r55400 = asin(r55399);
return r55400;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
Taylor expanded around -inf 51.2
Simplified10.2
rmApplied clear-num10.2
Simplified10.1
Final simplification10.1
herbie shell --seed 2019323
(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)))))))