\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(\left|\sqrt{\frac{1 - \frac{\frac{Om}{Omc} \cdot Om}{Omc}}{\frac{2}{\frac{\ell}{t} \cdot \frac{\ell}{t}} + 1}}\right|\right)double f(double t, double l, double Om, double Omc) {
double r2849227 = 1.0;
double r2849228 = Om;
double r2849229 = Omc;
double r2849230 = r2849228 / r2849229;
double r2849231 = 2.0;
double r2849232 = pow(r2849230, r2849231);
double r2849233 = r2849227 - r2849232;
double r2849234 = t;
double r2849235 = l;
double r2849236 = r2849234 / r2849235;
double r2849237 = pow(r2849236, r2849231);
double r2849238 = r2849231 * r2849237;
double r2849239 = r2849227 + r2849238;
double r2849240 = r2849233 / r2849239;
double r2849241 = sqrt(r2849240);
double r2849242 = asin(r2849241);
return r2849242;
}
double f(double t, double l, double Om, double Omc) {
double r2849243 = 1.0;
double r2849244 = Om;
double r2849245 = Omc;
double r2849246 = r2849244 / r2849245;
double r2849247 = r2849246 * r2849244;
double r2849248 = r2849247 / r2849245;
double r2849249 = r2849243 - r2849248;
double r2849250 = 2.0;
double r2849251 = l;
double r2849252 = t;
double r2849253 = r2849251 / r2849252;
double r2849254 = r2849253 * r2849253;
double r2849255 = r2849250 / r2849254;
double r2849256 = r2849255 + r2849243;
double r2849257 = r2849249 / r2849256;
double r2849258 = sqrt(r2849257);
double r2849259 = fabs(r2849258);
double r2849260 = asin(r2849259);
return r2849260;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 9.8
rmApplied add-sqr-sqrt9.8
Applied add-sqr-sqrt9.8
Applied times-frac9.8
Applied rem-sqrt-square9.8
Taylor expanded around inf 26.3
Simplified9.8
rmApplied associate-*l/9.8
Final simplification9.8
herbie shell --seed 2019172
(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)))))))