\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}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r2786920 = 1.0;
double r2786921 = Om;
double r2786922 = Omc;
double r2786923 = r2786921 / r2786922;
double r2786924 = 2.0;
double r2786925 = pow(r2786923, r2786924);
double r2786926 = r2786920 - r2786925;
double r2786927 = t;
double r2786928 = l;
double r2786929 = r2786927 / r2786928;
double r2786930 = pow(r2786929, r2786924);
double r2786931 = r2786924 * r2786930;
double r2786932 = r2786920 + r2786931;
double r2786933 = r2786926 / r2786932;
double r2786934 = sqrt(r2786933);
double r2786935 = asin(r2786934);
return r2786935;
}
double f(double t, double l, double Om, double Omc) {
double r2786936 = 1.0;
double r2786937 = Om;
double r2786938 = Omc;
double r2786939 = r2786937 / r2786938;
double r2786940 = 2.0;
double r2786941 = pow(r2786939, r2786940);
double r2786942 = r2786936 - r2786941;
double r2786943 = t;
double r2786944 = l;
double r2786945 = r2786943 / r2786944;
double r2786946 = pow(r2786945, r2786940);
double r2786947 = fma(r2786940, r2786946, r2786936);
double r2786948 = r2786942 / r2786947;
double r2786949 = sqrt(r2786948);
double r2786950 = asin(r2786949);
return r2786950;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 9.8
Simplified9.8
Final simplification9.8
herbie shell --seed 2019172 +o rules:numerics
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))