double f(double t, double l, double Om, double Omc) {
double r4976585 = 1.0;
double r4976586 = Om;
double r4976587 = Omc;
double r4976588 = r4976586 / r4976587;
double r4976589 = 2.0;
double r4976590 = pow(r4976588, r4976589);
double r4976591 = r4976585 - r4976590;
double r4976592 = t;
double r4976593 = l;
double r4976594 = r4976592 / r4976593;
double r4976595 = pow(r4976594, r4976589);
double r4976596 = r4976589 * r4976595;
double r4976597 = r4976585 + r4976596;
double r4976598 = r4976591 / r4976597;
double r4976599 = sqrt(r4976598);
double r4976600 = asin(r4976599);
return r4976600;
}
double f(double t, double l, double Om, double Omc) {
double r4976601 = 1.0;
double r4976602 = Om;
double r4976603 = Omc;
double r4976604 = r4976602 / r4976603;
double r4976605 = r4976604 * r4976604;
double r4976606 = exp(r4976605);
double r4976607 = log(r4976606);
double r4976608 = r4976601 - r4976607;
double r4976609 = t;
double r4976610 = l;
double r4976611 = r4976609 / r4976610;
double r4976612 = r4976611 * r4976611;
double r4976613 = 2.0;
double r4976614 = r4976612 * r4976613;
double r4976615 = r4976614 + r4976601;
double r4976616 = r4976608 / r4976615;
double r4976617 = sqrt(r4976616);
double r4976618 = asin(r4976617);
return r4976618;
}
\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^{\frac{Om}{Omc} \cdot \frac{Om}{Omc}}\right)}{\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1}}\right)


Bits error versus t



Bits error versus l



Bits error versus Om



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