Average Error: 10.0 → 10.0
Time: 15.2s
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 r70940 = 1.0;
        double r70941 = Om;
        double r70942 = Omc;
        double r70943 = r70941 / r70942;
        double r70944 = 2.0;
        double r70945 = pow(r70943, r70944);
        double r70946 = r70940 - r70945;
        double r70947 = t;
        double r70948 = l;
        double r70949 = r70947 / r70948;
        double r70950 = pow(r70949, r70944);
        double r70951 = r70944 * r70950;
        double r70952 = r70940 + r70951;
        double r70953 = r70946 / r70952;
        double r70954 = sqrt(r70953);
        double r70955 = asin(r70954);
        return r70955;
}

double f(double t, double l, double Om, double Omc) {
        double r70956 = 1.0;
        double r70957 = Om;
        double r70958 = Omc;
        double r70959 = r70957 / r70958;
        double r70960 = 2.0;
        double r70961 = pow(r70959, r70960);
        double r70962 = r70956 - r70961;
        double r70963 = t;
        double r70964 = l;
        double r70965 = r70963 / r70964;
        double r70966 = pow(r70965, r70960);
        double r70967 = r70960 * r70966;
        double r70968 = r70956 + r70967;
        double r70969 = r70962 / r70968;
        double r70970 = sqrt(r70969);
        double r70971 = asin(r70970);
        return r70971;
}

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.0

    \[\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.0

    \[\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 2020042 +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)))))))