\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 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\mathsf{fma}\left(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right), 2, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r1644543 = 1.0;
double r1644544 = Om;
double r1644545 = Omc;
double r1644546 = r1644544 / r1644545;
double r1644547 = 2.0;
double r1644548 = pow(r1644546, r1644547);
double r1644549 = r1644543 - r1644548;
double r1644550 = t;
double r1644551 = l;
double r1644552 = r1644550 / r1644551;
double r1644553 = pow(r1644552, r1644547);
double r1644554 = r1644547 * r1644553;
double r1644555 = r1644543 + r1644554;
double r1644556 = r1644549 / r1644555;
double r1644557 = sqrt(r1644556);
double r1644558 = asin(r1644557);
return r1644558;
}
double f(double t, double l, double Om, double Omc) {
double r1644559 = 1.0;
double r1644560 = Om;
double r1644561 = Omc;
double r1644562 = r1644560 / r1644561;
double r1644563 = r1644562 * r1644562;
double r1644564 = r1644559 - r1644563;
double r1644565 = t;
double r1644566 = l;
double r1644567 = r1644565 / r1644566;
double r1644568 = r1644567 * r1644567;
double r1644569 = 2.0;
double r1644570 = fma(r1644568, r1644569, r1644559);
double r1644571 = r1644564 / r1644570;
double r1644572 = sqrt(r1644571);
double r1644573 = asin(r1644572);
return r1644573;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.2
Simplified10.2
Final simplification10.2
herbie shell --seed 2019133 +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)))))))