\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 r61189 = 1.0;
double r61190 = Om;
double r61191 = Omc;
double r61192 = r61190 / r61191;
double r61193 = 2.0;
double r61194 = pow(r61192, r61193);
double r61195 = r61189 - r61194;
double r61196 = t;
double r61197 = l;
double r61198 = r61196 / r61197;
double r61199 = pow(r61198, r61193);
double r61200 = r61193 * r61199;
double r61201 = r61189 + r61200;
double r61202 = r61195 / r61201;
double r61203 = sqrt(r61202);
double r61204 = asin(r61203);
return r61204;
}
double f(double t, double l, double Om, double Omc) {
double r61205 = 1.0;
double r61206 = Om;
double r61207 = Omc;
double r61208 = r61206 / r61207;
double r61209 = 2.0;
double r61210 = pow(r61208, r61209);
double r61211 = exp(r61210);
double r61212 = log(r61211);
double r61213 = r61205 - r61212;
double r61214 = t;
double r61215 = l;
double r61216 = r61214 / r61215;
double r61217 = pow(r61216, r61209);
double r61218 = r61209 * r61217;
double r61219 = r61205 + r61218;
double r61220 = r61213 / r61219;
double r61221 = sqrt(r61220);
double r61222 = asin(r61221);
return r61222;
}



Bits error versus t



Bits error versus l



Bits error versus Om



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