\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 r2639437 = 1.0;
double r2639438 = Om;
double r2639439 = Omc;
double r2639440 = r2639438 / r2639439;
double r2639441 = 2.0;
double r2639442 = pow(r2639440, r2639441);
double r2639443 = r2639437 - r2639442;
double r2639444 = t;
double r2639445 = l;
double r2639446 = r2639444 / r2639445;
double r2639447 = pow(r2639446, r2639441);
double r2639448 = r2639441 * r2639447;
double r2639449 = r2639437 + r2639448;
double r2639450 = r2639443 / r2639449;
double r2639451 = sqrt(r2639450);
double r2639452 = asin(r2639451);
return r2639452;
}
double f(double t, double l, double Om, double Omc) {
double r2639453 = 1.0;
double r2639454 = Om;
double r2639455 = Omc;
double r2639456 = r2639454 / r2639455;
double r2639457 = 2.0;
double r2639458 = pow(r2639456, r2639457);
double r2639459 = r2639453 - r2639458;
double r2639460 = t;
double r2639461 = l;
double r2639462 = r2639460 / r2639461;
double r2639463 = pow(r2639462, r2639457);
double r2639464 = fma(r2639463, r2639457, r2639453);
double r2639465 = r2639459 / r2639464;
double r2639466 = sqrt(r2639465);
double r2639467 = asin(r2639466);
return r2639467;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 9.8
Simplified9.8
Final simplification9.8
herbie shell --seed 2019172 +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)))))))