\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({\left(\frac{t}{\ell}\right)}^{2}, 2, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r2496103 = 1.0;
double r2496104 = Om;
double r2496105 = Omc;
double r2496106 = r2496104 / r2496105;
double r2496107 = 2.0;
double r2496108 = pow(r2496106, r2496107);
double r2496109 = r2496103 - r2496108;
double r2496110 = t;
double r2496111 = l;
double r2496112 = r2496110 / r2496111;
double r2496113 = pow(r2496112, r2496107);
double r2496114 = r2496107 * r2496113;
double r2496115 = r2496103 + r2496114;
double r2496116 = r2496109 / r2496115;
double r2496117 = sqrt(r2496116);
double r2496118 = asin(r2496117);
return r2496118;
}
double f(double t, double l, double Om, double Omc) {
double r2496119 = 1.0;
double r2496120 = Om;
double r2496121 = Omc;
double r2496122 = r2496120 / r2496121;
double r2496123 = 2.0;
double r2496124 = pow(r2496122, r2496123);
double r2496125 = r2496119 - r2496124;
double r2496126 = t;
double r2496127 = l;
double r2496128 = r2496126 / r2496127;
double r2496129 = pow(r2496128, r2496123);
double r2496130 = fma(r2496129, r2496123, r2496119);
double r2496131 = r2496125 / r2496130;
double r2496132 = sqrt(r2496131);
double r2496133 = asin(r2496132);
return r2496133;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.1
Simplified10.1
Final simplification10.1
herbie shell --seed 2019170 +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)))))))