\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 - \log \left(e^{{\left(\frac{Om}{Omc}\right)}^{2}}\right)}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)double f(double t, double l, double Om, double Omc) {
double r64626 = 1.0;
double r64627 = Om;
double r64628 = Omc;
double r64629 = r64627 / r64628;
double r64630 = 2.0;
double r64631 = pow(r64629, r64630);
double r64632 = r64626 - r64631;
double r64633 = t;
double r64634 = l;
double r64635 = r64633 / r64634;
double r64636 = pow(r64635, r64630);
double r64637 = r64630 * r64636;
double r64638 = r64626 + r64637;
double r64639 = r64632 / r64638;
double r64640 = sqrt(r64639);
double r64641 = asin(r64640);
return r64641;
}
double f(double t, double l, double Om, double Omc) {
double r64642 = 1.0;
double r64643 = Om;
double r64644 = Omc;
double r64645 = r64643 / r64644;
double r64646 = 2.0;
double r64647 = pow(r64645, r64646);
double r64648 = exp(r64647);
double r64649 = log(r64648);
double r64650 = r64642 - r64649;
double r64651 = t;
double r64652 = l;
double r64653 = r64651 / r64652;
double r64654 = pow(r64653, r64646);
double r64655 = r64646 * r64654;
double r64656 = r64642 + r64655;
double r64657 = r64650 / r64656;
double r64658 = sqrt(r64657);
double r64659 = asin(r64658);
return r64659;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
Initial program 10.1
rmApplied add-log-exp10.1
Final simplification10.1
herbie shell --seed 2020062
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
:precision binary64
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))