\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}^{3} - {\left({\left(\frac{Om}{Omc}\right)}^{2}\right)}^{3}}{\mathsf{fma}\left(1, 1, {\left(\frac{Om}{Omc}\right)}^{2} \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\right)\right) \cdot \mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r94056 = 1.0;
double r94057 = Om;
double r94058 = Omc;
double r94059 = r94057 / r94058;
double r94060 = 2.0;
double r94061 = pow(r94059, r94060);
double r94062 = r94056 - r94061;
double r94063 = t;
double r94064 = l;
double r94065 = r94063 / r94064;
double r94066 = pow(r94065, r94060);
double r94067 = r94060 * r94066;
double r94068 = r94056 + r94067;
double r94069 = r94062 / r94068;
double r94070 = sqrt(r94069);
double r94071 = asin(r94070);
return r94071;
}
double f(double t, double l, double Om, double Omc) {
double r94072 = 1.0;
double r94073 = 3.0;
double r94074 = pow(r94072, r94073);
double r94075 = Om;
double r94076 = Omc;
double r94077 = r94075 / r94076;
double r94078 = 2.0;
double r94079 = pow(r94077, r94078);
double r94080 = pow(r94079, r94073);
double r94081 = r94074 - r94080;
double r94082 = r94072 + r94079;
double r94083 = r94079 * r94082;
double r94084 = fma(r94072, r94072, r94083);
double r94085 = t;
double r94086 = l;
double r94087 = r94085 / r94086;
double r94088 = pow(r94087, r94078);
double r94089 = fma(r94078, r94088, r94072);
double r94090 = r94084 * r94089;
double r94091 = r94081 / r94090;
double r94092 = sqrt(r94091);
double r94093 = asin(r94092);
return r94093;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.6
Simplified10.6
rmApplied flip3--10.6
Applied associate-/l/10.6
Simplified10.6
Final simplification10.6
herbie shell --seed 2019322 +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)))))))