\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 r72347 = 1.0;
double r72348 = Om;
double r72349 = Omc;
double r72350 = r72348 / r72349;
double r72351 = 2.0;
double r72352 = pow(r72350, r72351);
double r72353 = r72347 - r72352;
double r72354 = t;
double r72355 = l;
double r72356 = r72354 / r72355;
double r72357 = pow(r72356, r72351);
double r72358 = r72351 * r72357;
double r72359 = r72347 + r72358;
double r72360 = r72353 / r72359;
double r72361 = sqrt(r72360);
double r72362 = asin(r72361);
return r72362;
}
double f(double t, double l, double Om, double Omc) {
double r72363 = 1.0;
double r72364 = Om;
double r72365 = Omc;
double r72366 = r72364 / r72365;
double r72367 = 2.0;
double r72368 = pow(r72366, r72367);
double r72369 = r72363 - r72368;
double r72370 = t;
double r72371 = l;
double r72372 = r72370 / r72371;
double r72373 = pow(r72372, r72367);
double r72374 = r72367 * r72373;
double r72375 = r72363 + r72374;
double r72376 = r72369 / r72375;
double r72377 = sqrt(r72376);
double r72378 = asin(r72377);
return r72378;
}



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 2019353 +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)))))))