\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\begin{array}{l}
\mathbf{if}\;\frac{t}{\ell} \le 1.3085858754480278 \cdot 10^{+135}:\\
\;\;\;\;\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{1 + \frac{2}{\frac{\ell}{t} \cdot \frac{\ell}{t}}}}\right)\\
\mathbf{else}:\\
\;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\frac{t \cdot \sqrt{2}}{\ell}}\right)\\
\end{array}double f(double t, double l, double Om, double Omc) {
double r1533607 = 1.0;
double r1533608 = Om;
double r1533609 = Omc;
double r1533610 = r1533608 / r1533609;
double r1533611 = 2.0;
double r1533612 = pow(r1533610, r1533611);
double r1533613 = r1533607 - r1533612;
double r1533614 = t;
double r1533615 = l;
double r1533616 = r1533614 / r1533615;
double r1533617 = pow(r1533616, r1533611);
double r1533618 = r1533611 * r1533617;
double r1533619 = r1533607 + r1533618;
double r1533620 = r1533613 / r1533619;
double r1533621 = sqrt(r1533620);
double r1533622 = asin(r1533621);
return r1533622;
}
double f(double t, double l, double Om, double Omc) {
double r1533623 = t;
double r1533624 = l;
double r1533625 = r1533623 / r1533624;
double r1533626 = 1.3085858754480278e+135;
bool r1533627 = r1533625 <= r1533626;
double r1533628 = 1.0;
double r1533629 = Om;
double r1533630 = Omc;
double r1533631 = r1533629 / r1533630;
double r1533632 = r1533631 * r1533631;
double r1533633 = r1533628 - r1533632;
double r1533634 = 2.0;
double r1533635 = r1533624 / r1533623;
double r1533636 = r1533635 * r1533635;
double r1533637 = r1533634 / r1533636;
double r1533638 = r1533628 + r1533637;
double r1533639 = r1533633 / r1533638;
double r1533640 = sqrt(r1533639);
double r1533641 = asin(r1533640);
double r1533642 = sqrt(r1533633);
double r1533643 = sqrt(r1533634);
double r1533644 = r1533623 * r1533643;
double r1533645 = r1533644 / r1533624;
double r1533646 = r1533642 / r1533645;
double r1533647 = asin(r1533646);
double r1533648 = r1533627 ? r1533641 : r1533647;
return r1533648;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Results
if (/ t l) < 1.3085858754480278e+135Initial program 6.4
Simplified6.4
rmApplied add-cube-cbrt6.5
Applied add-cube-cbrt6.5
Applied times-frac6.5
Applied associate-*l*6.5
Taylor expanded around 0 24.0
Simplified6.5
if 1.3085858754480278e+135 < (/ t l) Initial program 30.9
Simplified30.9
rmApplied sqrt-div30.9
Taylor expanded around inf 1.3
Final simplification5.7
herbie shell --seed 2019130
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))