\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 - \log \left(e^{{\left(\frac{Om}{Omc}\right)}^{2}}\right)}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r65357 = 1.0;
double r65358 = Om;
double r65359 = Omc;
double r65360 = r65358 / r65359;
double r65361 = 2.0;
double r65362 = pow(r65360, r65361);
double r65363 = r65357 - r65362;
double r65364 = t;
double r65365 = l;
double r65366 = r65364 / r65365;
double r65367 = pow(r65366, r65361);
double r65368 = r65361 * r65367;
double r65369 = r65357 + r65368;
double r65370 = r65363 / r65369;
double r65371 = sqrt(r65370);
double r65372 = asin(r65371);
return r65372;
}
double f(double t, double l, double Om, double Omc) {
double r65373 = 1.0;
double r65374 = Om;
double r65375 = Omc;
double r65376 = r65374 / r65375;
double r65377 = 2.0;
double r65378 = pow(r65376, r65377);
double r65379 = exp(r65378);
double r65380 = log(r65379);
double r65381 = r65373 - r65380;
double r65382 = t;
double r65383 = l;
double r65384 = r65382 / r65383;
double r65385 = pow(r65384, r65377);
double r65386 = r65377 * r65385;
double r65387 = r65373 + r65386;
double r65388 = r65381 / r65387;
double r65389 = sqrt(r65388);
double r65390 = asin(r65389);
return r65390;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.4
rmApplied add-log-exp10.4
Final simplification10.4
herbie shell --seed 2020018
(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)))))))