\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}}{1 + \left(\frac{t}{\ell} \cdot \frac{t}{\ell} + \frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r1816558 = 1.0;
double r1816559 = Om;
double r1816560 = Omc;
double r1816561 = r1816559 / r1816560;
double r1816562 = 2.0;
double r1816563 = pow(r1816561, r1816562);
double r1816564 = r1816558 - r1816563;
double r1816565 = t;
double r1816566 = l;
double r1816567 = r1816565 / r1816566;
double r1816568 = pow(r1816567, r1816562);
double r1816569 = r1816562 * r1816568;
double r1816570 = r1816558 + r1816569;
double r1816571 = r1816564 / r1816570;
double r1816572 = sqrt(r1816571);
double r1816573 = asin(r1816572);
return r1816573;
}
double f(double t, double l, double Om, double Omc) {
double r1816574 = 1.0;
double r1816575 = Om;
double r1816576 = Omc;
double r1816577 = r1816575 / r1816576;
double r1816578 = r1816577 * r1816577;
double r1816579 = r1816574 - r1816578;
double r1816580 = t;
double r1816581 = l;
double r1816582 = r1816580 / r1816581;
double r1816583 = r1816582 * r1816582;
double r1816584 = r1816583 + r1816583;
double r1816585 = r1816574 + r1816584;
double r1816586 = r1816579 / r1816585;
double r1816587 = sqrt(r1816586);
double r1816588 = asin(r1816587);
return r1816588;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.2
Simplified10.2
Final simplification10.2
herbie shell --seed 2019133
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))