\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}}{\mathsf{fma}\left({\left(\frac{t}{\ell}\right)}^{2}, 2, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r2310387 = 1.0;
double r2310388 = Om;
double r2310389 = Omc;
double r2310390 = r2310388 / r2310389;
double r2310391 = 2.0;
double r2310392 = pow(r2310390, r2310391);
double r2310393 = r2310387 - r2310392;
double r2310394 = t;
double r2310395 = l;
double r2310396 = r2310394 / r2310395;
double r2310397 = pow(r2310396, r2310391);
double r2310398 = r2310391 * r2310397;
double r2310399 = r2310387 + r2310398;
double r2310400 = r2310393 / r2310399;
double r2310401 = sqrt(r2310400);
double r2310402 = asin(r2310401);
return r2310402;
}
double f(double t, double l, double Om, double Omc) {
double r2310403 = 1.0;
double r2310404 = Om;
double r2310405 = Omc;
double r2310406 = r2310404 / r2310405;
double r2310407 = 2.0;
double r2310408 = pow(r2310406, r2310407);
double r2310409 = r2310403 - r2310408;
double r2310410 = t;
double r2310411 = l;
double r2310412 = r2310410 / r2310411;
double r2310413 = pow(r2310412, r2310407);
double r2310414 = fma(r2310413, r2310407, r2310403);
double r2310415 = r2310409 / r2310414;
double r2310416 = sqrt(r2310415);
double r2310417 = asin(r2310416);
return r2310417;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.3
Simplified10.3
Final simplification10.3
herbie shell --seed 2019171 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))