\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 r2619180 = 1.0;
double r2619181 = Om;
double r2619182 = Omc;
double r2619183 = r2619181 / r2619182;
double r2619184 = 2.0;
double r2619185 = pow(r2619183, r2619184);
double r2619186 = r2619180 - r2619185;
double r2619187 = t;
double r2619188 = l;
double r2619189 = r2619187 / r2619188;
double r2619190 = pow(r2619189, r2619184);
double r2619191 = r2619184 * r2619190;
double r2619192 = r2619180 + r2619191;
double r2619193 = r2619186 / r2619192;
double r2619194 = sqrt(r2619193);
double r2619195 = asin(r2619194);
return r2619195;
}
double f(double t, double l, double Om, double Omc) {
double r2619196 = 1.0;
double r2619197 = Om;
double r2619198 = Omc;
double r2619199 = r2619197 / r2619198;
double r2619200 = 2.0;
double r2619201 = pow(r2619199, r2619200);
double r2619202 = r2619196 - r2619201;
double r2619203 = t;
double r2619204 = l;
double r2619205 = r2619203 / r2619204;
double r2619206 = pow(r2619205, r2619200);
double r2619207 = fma(r2619206, r2619200, r2619196);
double r2619208 = r2619202 / r2619207;
double r2619209 = sqrt(r2619208);
double r2619210 = asin(r2619209);
return r2619210;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.1
Simplified10.1
Final simplification10.1
herbie shell --seed 2019169 +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)))))))