Average Error: 10.3 → 10.3
Time: 25.6s
Precision: 64
\[\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{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
\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{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r53705 = 1.0;
        double r53706 = Om;
        double r53707 = Omc;
        double r53708 = r53706 / r53707;
        double r53709 = 2.0;
        double r53710 = pow(r53708, r53709);
        double r53711 = r53705 - r53710;
        double r53712 = t;
        double r53713 = l;
        double r53714 = r53712 / r53713;
        double r53715 = pow(r53714, r53709);
        double r53716 = r53709 * r53715;
        double r53717 = r53705 + r53716;
        double r53718 = r53711 / r53717;
        double r53719 = sqrt(r53718);
        double r53720 = asin(r53719);
        return r53720;
}

double f(double t, double l, double Om, double Omc) {
        double r53721 = 1.0;
        double r53722 = Om;
        double r53723 = Omc;
        double r53724 = r53722 / r53723;
        double r53725 = 2.0;
        double r53726 = pow(r53724, r53725);
        double r53727 = r53721 - r53726;
        double r53728 = t;
        double r53729 = l;
        double r53730 = r53728 / r53729;
        double r53731 = pow(r53730, r53725);
        double r53732 = r53725 * r53731;
        double r53733 = r53721 + r53732;
        double r53734 = r53727 / r53733;
        double r53735 = sqrt(r53734);
        double r53736 = asin(r53735);
        return r53736;
}

Error

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus Omc

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 10.3

    \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  2. Final simplification10.3

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]

Reproduce

herbie shell --seed 2019304 +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)))))))