\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}}{2 \cdot {\left(\frac{t}{\ell}\right)}^{2} + 1}}\right)double f(double t, double l, double Om, double Omc) {
double r3522246 = 1.0;
double r3522247 = Om;
double r3522248 = Omc;
double r3522249 = r3522247 / r3522248;
double r3522250 = 2.0;
double r3522251 = pow(r3522249, r3522250);
double r3522252 = r3522246 - r3522251;
double r3522253 = t;
double r3522254 = l;
double r3522255 = r3522253 / r3522254;
double r3522256 = pow(r3522255, r3522250);
double r3522257 = r3522250 * r3522256;
double r3522258 = r3522246 + r3522257;
double r3522259 = r3522252 / r3522258;
double r3522260 = sqrt(r3522259);
double r3522261 = asin(r3522260);
return r3522261;
}
double f(double t, double l, double Om, double Omc) {
double r3522262 = 1.0;
double r3522263 = Om;
double r3522264 = Omc;
double r3522265 = r3522263 / r3522264;
double r3522266 = 2.0;
double r3522267 = pow(r3522265, r3522266);
double r3522268 = r3522262 - r3522267;
double r3522269 = t;
double r3522270 = l;
double r3522271 = r3522269 / r3522270;
double r3522272 = pow(r3522271, r3522266);
double r3522273 = r3522266 * r3522272;
double r3522274 = r3522273 + r3522262;
double r3522275 = r3522268 / r3522274;
double r3522276 = sqrt(r3522275);
double r3522277 = asin(r3522276);
return r3522277;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.0
Final simplification10.0
herbie shell --seed 2019200
(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)))))))