\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}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r71672 = 1.0;
double r71673 = Om;
double r71674 = Omc;
double r71675 = r71673 / r71674;
double r71676 = 2.0;
double r71677 = pow(r71675, r71676);
double r71678 = r71672 - r71677;
double r71679 = t;
double r71680 = l;
double r71681 = r71679 / r71680;
double r71682 = pow(r71681, r71676);
double r71683 = r71676 * r71682;
double r71684 = r71672 + r71683;
double r71685 = r71678 / r71684;
double r71686 = sqrt(r71685);
double r71687 = asin(r71686);
return r71687;
}
double f(double t, double l, double Om, double Omc) {
double r71688 = 1.0;
double r71689 = Om;
double r71690 = Omc;
double r71691 = r71689 / r71690;
double r71692 = 2.0;
double r71693 = pow(r71691, r71692);
double r71694 = r71688 - r71693;
double r71695 = t;
double r71696 = l;
double r71697 = r71695 / r71696;
double r71698 = pow(r71697, r71692);
double r71699 = r71692 * r71698;
double r71700 = r71688 + r71699;
double r71701 = r71694 / r71700;
double r71702 = sqrt(r71701);
double r71703 = asin(r71702);
return r71703;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.5
Final simplification10.5
herbie shell --seed 2020059 +o rules:numerics
(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)))))))