\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{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{1}} \cdot \sqrt{\frac{\sqrt{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 r72129 = 1.0;
double r72130 = Om;
double r72131 = Omc;
double r72132 = r72130 / r72131;
double r72133 = 2.0;
double r72134 = pow(r72132, r72133);
double r72135 = r72129 - r72134;
double r72136 = t;
double r72137 = l;
double r72138 = r72136 / r72137;
double r72139 = pow(r72138, r72133);
double r72140 = r72133 * r72139;
double r72141 = r72129 + r72140;
double r72142 = r72135 / r72141;
double r72143 = sqrt(r72142);
double r72144 = asin(r72143);
return r72144;
}
double f(double t, double l, double Om, double Omc) {
double r72145 = 1.0;
double r72146 = Om;
double r72147 = Omc;
double r72148 = r72146 / r72147;
double r72149 = 2.0;
double r72150 = pow(r72148, r72149);
double r72151 = r72145 - r72150;
double r72152 = sqrt(r72151);
double r72153 = 1.0;
double r72154 = r72152 / r72153;
double r72155 = sqrt(r72154);
double r72156 = t;
double r72157 = l;
double r72158 = r72156 / r72157;
double r72159 = pow(r72158, r72149);
double r72160 = r72149 * r72159;
double r72161 = r72145 + r72160;
double r72162 = r72152 / r72161;
double r72163 = sqrt(r72162);
double r72164 = r72155 * r72163;
double r72165 = asin(r72164);
return r72165;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
rmApplied *-un-lft-identity10.1
Applied add-sqr-sqrt10.1
Applied times-frac10.1
Applied sqrt-prod10.1
Final simplification10.1
herbie shell --seed 2019362 +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)))))))