Average Error: 9.8 → 9.8
Time: 29.7s
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 r3150277 = 1.0;
        double r3150278 = Om;
        double r3150279 = Omc;
        double r3150280 = r3150278 / r3150279;
        double r3150281 = 2.0;
        double r3150282 = pow(r3150280, r3150281);
        double r3150283 = r3150277 - r3150282;
        double r3150284 = t;
        double r3150285 = l;
        double r3150286 = r3150284 / r3150285;
        double r3150287 = pow(r3150286, r3150281);
        double r3150288 = r3150281 * r3150287;
        double r3150289 = r3150277 + r3150288;
        double r3150290 = r3150283 / r3150289;
        double r3150291 = sqrt(r3150290);
        double r3150292 = asin(r3150291);
        return r3150292;
}

double f(double t, double l, double Om, double Omc) {
        double r3150293 = 1.0;
        double r3150294 = Om;
        double r3150295 = Omc;
        double r3150296 = r3150294 / r3150295;
        double r3150297 = 2.0;
        double r3150298 = pow(r3150296, r3150297);
        double r3150299 = r3150293 - r3150298;
        double r3150300 = t;
        double r3150301 = l;
        double r3150302 = r3150300 / r3150301;
        double r3150303 = pow(r3150302, r3150297);
        double r3150304 = r3150297 * r3150303;
        double r3150305 = r3150293 + r3150304;
        double r3150306 = r3150299 / r3150305;
        double r3150307 = sqrt(r3150306);
        double r3150308 = asin(r3150307);
        return r3150308;
}

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 9.8

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

    \[\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 2019172 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))