\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}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}} \cdot \frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)double f(double t, double l, double Om, double Omc) {
double r58243 = 1.0;
double r58244 = Om;
double r58245 = Omc;
double r58246 = r58244 / r58245;
double r58247 = 2.0;
double r58248 = pow(r58246, r58247);
double r58249 = r58243 - r58248;
double r58250 = t;
double r58251 = l;
double r58252 = r58250 / r58251;
double r58253 = pow(r58252, r58247);
double r58254 = r58247 * r58253;
double r58255 = r58243 + r58254;
double r58256 = r58249 / r58255;
double r58257 = sqrt(r58256);
double r58258 = asin(r58257);
return r58258;
}
double f(double t, double l, double Om, double Omc) {
double r58259 = 1.0;
double r58260 = 1.0;
double r58261 = 2.0;
double r58262 = t;
double r58263 = l;
double r58264 = r58262 / r58263;
double r58265 = pow(r58264, r58261);
double r58266 = r58261 * r58265;
double r58267 = r58260 + r58266;
double r58268 = sqrt(r58267);
double r58269 = r58259 / r58268;
double r58270 = Om;
double r58271 = Omc;
double r58272 = r58270 / r58271;
double r58273 = pow(r58272, r58261);
double r58274 = r58260 - r58273;
double r58275 = r58274 / r58268;
double r58276 = r58269 * r58275;
double r58277 = sqrt(r58276);
double r58278 = asin(r58277);
return r58278;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
rmApplied add-sqr-sqrt10.3
Applied *-un-lft-identity10.3
Applied times-frac10.3
Final simplification10.3
herbie shell --seed 2019325
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
:precision binary64
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))