\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{1 \cdot \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 r69153 = 1.0;
double r69154 = Om;
double r69155 = Omc;
double r69156 = r69154 / r69155;
double r69157 = 2.0;
double r69158 = pow(r69156, r69157);
double r69159 = r69153 - r69158;
double r69160 = t;
double r69161 = l;
double r69162 = r69160 / r69161;
double r69163 = pow(r69162, r69157);
double r69164 = r69157 * r69163;
double r69165 = r69153 + r69164;
double r69166 = r69159 / r69165;
double r69167 = sqrt(r69166);
double r69168 = asin(r69167);
return r69168;
}
double f(double t, double l, double Om, double Omc) {
double r69169 = 1.0;
double r69170 = 1.0;
double r69171 = Om;
double r69172 = Omc;
double r69173 = r69171 / r69172;
double r69174 = 2.0;
double r69175 = pow(r69173, r69174);
double r69176 = r69170 - r69175;
double r69177 = t;
double r69178 = l;
double r69179 = r69177 / r69178;
double r69180 = pow(r69179, r69174);
double r69181 = r69174 * r69180;
double r69182 = r69170 + r69181;
double r69183 = r69176 / r69182;
double r69184 = r69169 * r69183;
double r69185 = sqrt(r69184);
double r69186 = asin(r69185);
return r69186;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.6
rmApplied *-un-lft-identity10.6
Final simplification10.6
herbie shell --seed 2020060 +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)))))))