\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 - {\left(\frac{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}{\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}}\right)}^{2} \cdot {\left(\frac{\sqrt[3]{Om}}{\sqrt[3]{Omc}}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)double f(double t, double l, double Om, double Omc) {
double r56653 = 1.0;
double r56654 = Om;
double r56655 = Omc;
double r56656 = r56654 / r56655;
double r56657 = 2.0;
double r56658 = pow(r56656, r56657);
double r56659 = r56653 - r56658;
double r56660 = t;
double r56661 = l;
double r56662 = r56660 / r56661;
double r56663 = pow(r56662, r56657);
double r56664 = r56657 * r56663;
double r56665 = r56653 + r56664;
double r56666 = r56659 / r56665;
double r56667 = sqrt(r56666);
double r56668 = asin(r56667);
return r56668;
}
double f(double t, double l, double Om, double Omc) {
double r56669 = 1.0;
double r56670 = Om;
double r56671 = cbrt(r56670);
double r56672 = r56671 * r56671;
double r56673 = Omc;
double r56674 = cbrt(r56673);
double r56675 = r56674 * r56674;
double r56676 = r56672 / r56675;
double r56677 = 2.0;
double r56678 = pow(r56676, r56677);
double r56679 = r56671 / r56674;
double r56680 = pow(r56679, r56677);
double r56681 = r56678 * r56680;
double r56682 = r56669 - r56681;
double r56683 = t;
double r56684 = l;
double r56685 = r56683 / r56684;
double r56686 = pow(r56685, r56677);
double r56687 = fma(r56677, r56686, r56669);
double r56688 = r56682 / r56687;
double r56689 = sqrt(r56688);
double r56690 = asin(r56689);
return r56690;
}



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus Omc
Initial program 10.6
Simplified10.6
rmApplied add-cube-cbrt10.6
Applied add-cube-cbrt10.6
Applied times-frac10.6
Applied unpow-prod-down10.6
Final simplification10.6
herbie shell --seed 2019208 +o rules:numerics
(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)))))))