\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 r4330261 = 1.0;
double r4330262 = Om;
double r4330263 = Omc;
double r4330264 = r4330262 / r4330263;
double r4330265 = 2.0;
double r4330266 = pow(r4330264, r4330265);
double r4330267 = r4330261 - r4330266;
double r4330268 = t;
double r4330269 = l;
double r4330270 = r4330268 / r4330269;
double r4330271 = pow(r4330270, r4330265);
double r4330272 = r4330265 * r4330271;
double r4330273 = r4330261 + r4330272;
double r4330274 = r4330267 / r4330273;
double r4330275 = sqrt(r4330274);
double r4330276 = asin(r4330275);
return r4330276;
}
double f(double t, double l, double Om, double Omc) {
double r4330277 = 1.0;
double r4330278 = Om;
double r4330279 = Omc;
double r4330280 = r4330278 / r4330279;
double r4330281 = 2.0;
double r4330282 = pow(r4330280, r4330281);
double r4330283 = r4330277 - r4330282;
double r4330284 = t;
double r4330285 = l;
double r4330286 = r4330284 / r4330285;
double r4330287 = pow(r4330286, r4330281);
double r4330288 = fma(r4330287, r4330281, r4330277);
double r4330289 = r4330283 / r4330288;
double r4330290 = sqrt(r4330289);
double r4330291 = asin(r4330290);
return r4330291;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.2
Simplified10.2
Final simplification10.2
herbie shell --seed 2019174 +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)))))))