\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{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)double f(double t, double l, double Om, double Omc) {
double r8429013 = 1.0;
double r8429014 = Om;
double r8429015 = Omc;
double r8429016 = r8429014 / r8429015;
double r8429017 = 2.0;
double r8429018 = pow(r8429016, r8429017);
double r8429019 = r8429013 - r8429018;
double r8429020 = t;
double r8429021 = l;
double r8429022 = r8429020 / r8429021;
double r8429023 = pow(r8429022, r8429017);
double r8429024 = r8429017 * r8429023;
double r8429025 = r8429013 + r8429024;
double r8429026 = r8429019 / r8429025;
double r8429027 = sqrt(r8429026);
double r8429028 = asin(r8429027);
return r8429028;
}
double f(double t, double l, double Om, double Omc) {
double r8429029 = 1.0;
double r8429030 = Om;
double r8429031 = Omc;
double r8429032 = r8429030 / r8429031;
double r8429033 = r8429032 * r8429032;
double r8429034 = r8429029 - r8429033;
double r8429035 = t;
double r8429036 = l;
double r8429037 = r8429035 / r8429036;
double r8429038 = r8429037 * r8429037;
double r8429039 = 2.0;
double r8429040 = fma(r8429038, r8429039, r8429029);
double r8429041 = sqrt(r8429040);
double r8429042 = r8429034 / r8429041;
double r8429043 = r8429042 / r8429041;
double r8429044 = sqrt(r8429043);
double r8429045 = asin(r8429044);
return r8429045;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.5
Simplified10.5
rmApplied add-sqr-sqrt10.5
Applied associate-/r*10.5
Final simplification10.5
herbie shell --seed 2019112 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))