Average Error: 10.3 → 10.3
Time: 9.3s
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 r72008 = 1.0;
        double r72009 = Om;
        double r72010 = Omc;
        double r72011 = r72009 / r72010;
        double r72012 = 2.0;
        double r72013 = pow(r72011, r72012);
        double r72014 = r72008 - r72013;
        double r72015 = t;
        double r72016 = l;
        double r72017 = r72015 / r72016;
        double r72018 = pow(r72017, r72012);
        double r72019 = r72012 * r72018;
        double r72020 = r72008 + r72019;
        double r72021 = r72014 / r72020;
        double r72022 = sqrt(r72021);
        double r72023 = asin(r72022);
        return r72023;
}

double f(double t, double l, double Om, double Omc) {
        double r72024 = 1.0;
        double r72025 = Om;
        double r72026 = Omc;
        double r72027 = r72025 / r72026;
        double r72028 = 2.0;
        double r72029 = pow(r72027, r72028);
        double r72030 = r72024 - r72029;
        double r72031 = t;
        double r72032 = l;
        double r72033 = r72031 / r72032;
        double r72034 = pow(r72033, r72028);
        double r72035 = r72028 * r72034;
        double r72036 = r72024 + r72035;
        double r72037 = r72030 / r72036;
        double r72038 = sqrt(r72037);
        double r72039 = asin(r72038);
        return r72039;
}

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 2019353 +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)))))))