\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 r54803 = 1.0;
double r54804 = Om;
double r54805 = Omc;
double r54806 = r54804 / r54805;
double r54807 = 2.0;
double r54808 = pow(r54806, r54807);
double r54809 = r54803 - r54808;
double r54810 = t;
double r54811 = l;
double r54812 = r54810 / r54811;
double r54813 = pow(r54812, r54807);
double r54814 = r54807 * r54813;
double r54815 = r54803 + r54814;
double r54816 = r54809 / r54815;
double r54817 = sqrt(r54816);
double r54818 = asin(r54817);
return r54818;
}
double f(double t, double l, double Om, double Omc) {
double r54819 = 1.0;
double r54820 = Om;
double r54821 = Omc;
double r54822 = r54820 / r54821;
double r54823 = 2.0;
double r54824 = pow(r54822, r54823);
double r54825 = exp(r54824);
double r54826 = log(r54825);
double r54827 = r54819 - r54826;
double r54828 = t;
double r54829 = l;
double r54830 = r54828 / r54829;
double r54831 = pow(r54830, r54823);
double r54832 = r54823 * r54831;
double r54833 = r54819 + r54832;
double r54834 = r54827 / r54833;
double r54835 = sqrt(r54834);
double r54836 = asin(r54835);
return r54836;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
rmApplied add-log-exp10.1
Final simplification10.1
herbie shell --seed 2019199
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))