\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 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{1 + \frac{2}{\frac{\ell}{t} \cdot \frac{\ell}{t}}}}\right)double f(double t, double l, double Om, double Omc) {
double r1179245 = 1.0;
double r1179246 = Om;
double r1179247 = Omc;
double r1179248 = r1179246 / r1179247;
double r1179249 = 2.0;
double r1179250 = pow(r1179248, r1179249);
double r1179251 = r1179245 - r1179250;
double r1179252 = t;
double r1179253 = l;
double r1179254 = r1179252 / r1179253;
double r1179255 = pow(r1179254, r1179249);
double r1179256 = r1179249 * r1179255;
double r1179257 = r1179245 + r1179256;
double r1179258 = r1179251 / r1179257;
double r1179259 = sqrt(r1179258);
double r1179260 = asin(r1179259);
return r1179260;
}
double f(double t, double l, double Om, double Omc) {
double r1179261 = 1.0;
double r1179262 = Om;
double r1179263 = Omc;
double r1179264 = r1179262 / r1179263;
double r1179265 = r1179264 * r1179264;
double r1179266 = r1179261 - r1179265;
double r1179267 = 2.0;
double r1179268 = l;
double r1179269 = t;
double r1179270 = r1179268 / r1179269;
double r1179271 = r1179270 * r1179270;
double r1179272 = r1179267 / r1179271;
double r1179273 = r1179261 + r1179272;
double r1179274 = r1179266 / r1179273;
double r1179275 = sqrt(r1179274);
double r1179276 = asin(r1179275);
return r1179276;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.5
Simplified10.5
Final simplification10.5
herbie shell --seed 2019141
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))