Average Error: 10.3 → 10.3
Time: 9.4s
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 r72347 = 1.0;
        double r72348 = Om;
        double r72349 = Omc;
        double r72350 = r72348 / r72349;
        double r72351 = 2.0;
        double r72352 = pow(r72350, r72351);
        double r72353 = r72347 - r72352;
        double r72354 = t;
        double r72355 = l;
        double r72356 = r72354 / r72355;
        double r72357 = pow(r72356, r72351);
        double r72358 = r72351 * r72357;
        double r72359 = r72347 + r72358;
        double r72360 = r72353 / r72359;
        double r72361 = sqrt(r72360);
        double r72362 = asin(r72361);
        return r72362;
}

double f(double t, double l, double Om, double Omc) {
        double r72363 = 1.0;
        double r72364 = Om;
        double r72365 = Omc;
        double r72366 = r72364 / r72365;
        double r72367 = 2.0;
        double r72368 = pow(r72366, r72367);
        double r72369 = r72363 - r72368;
        double r72370 = t;
        double r72371 = l;
        double r72372 = r72370 / r72371;
        double r72373 = pow(r72372, r72367);
        double r72374 = r72367 * r72373;
        double r72375 = r72363 + r72374;
        double r72376 = r72369 / r72375;
        double r72377 = sqrt(r72376);
        double r72378 = asin(r72377);
        return r72378;
}

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