\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(\left|\sqrt{\frac{1 - \log \left(e^{{\left(\frac{Om}{Omc}\right)}^{2}}\right)}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right|\right)double f(double t, double l, double Om, double Omc) {
double r161 = 1.0;
double r162 = Om;
double r163 = Omc;
double r164 = r162 / r163;
double r165 = 2.0;
double r166 = pow(r164, r165);
double r167 = r161 - r166;
double r168 = t;
double r169 = l;
double r170 = r168 / r169;
double r171 = pow(r170, r165);
double r172 = r165 * r171;
double r173 = r161 + r172;
double r174 = r167 / r173;
double r175 = sqrt(r174);
double r176 = asin(r175);
return r176;
}
double f(double t, double l, double Om, double Omc) {
double r177 = 1.0;
double r178 = Om;
double r179 = Omc;
double r180 = r178 / r179;
double r181 = 2.0;
double r182 = pow(r180, r181);
double r183 = exp(r182);
double r184 = log(r183);
double r185 = r177 - r184;
double r186 = t;
double r187 = l;
double r188 = r186 / r187;
double r189 = pow(r188, r181);
double r190 = r181 * r189;
double r191 = r177 + r190;
double r192 = r185 / r191;
double r193 = sqrt(r192);
double r194 = fabs(r193);
double r195 = asin(r194);
return r195;
}



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.4
Applied add-sqr-sqrt10.4
Applied times-frac10.4
Applied rem-sqrt-square10.4
rmApplied add-log-exp10.4
rmApplied sqrt-undiv10.3
Final simplification10.3
herbie shell --seed 2020025
(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)))))))