\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 r68128 = 1.0;
double r68129 = Om;
double r68130 = Omc;
double r68131 = r68129 / r68130;
double r68132 = 2.0;
double r68133 = pow(r68131, r68132);
double r68134 = r68128 - r68133;
double r68135 = t;
double r68136 = l;
double r68137 = r68135 / r68136;
double r68138 = pow(r68137, r68132);
double r68139 = r68132 * r68138;
double r68140 = r68128 + r68139;
double r68141 = r68134 / r68140;
double r68142 = sqrt(r68141);
double r68143 = asin(r68142);
return r68143;
}
double f(double t, double l, double Om, double Omc) {
double r68144 = 1.0;
double r68145 = Om;
double r68146 = Omc;
double r68147 = r68145 / r68146;
double r68148 = 2.0;
double r68149 = pow(r68147, r68148);
double r68150 = r68144 - r68149;
double r68151 = t;
double r68152 = l;
double r68153 = r68151 / r68152;
double r68154 = pow(r68153, r68148);
double r68155 = r68148 * r68154;
double r68156 = r68144 + r68155;
double r68157 = r68150 / r68156;
double r68158 = sqrt(r68157);
double r68159 = asin(r68158);
return r68159;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.3
rmApplied sqrt-div10.3
rmApplied sqrt-undiv10.3
Final simplification10.3
herbie shell --seed 2019356 +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)))))))