Average Error: 10.2 → 10.2
Time: 30.5s
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 r3083408 = 1.0;
        double r3083409 = Om;
        double r3083410 = Omc;
        double r3083411 = r3083409 / r3083410;
        double r3083412 = 2.0;
        double r3083413 = pow(r3083411, r3083412);
        double r3083414 = r3083408 - r3083413;
        double r3083415 = t;
        double r3083416 = l;
        double r3083417 = r3083415 / r3083416;
        double r3083418 = pow(r3083417, r3083412);
        double r3083419 = r3083412 * r3083418;
        double r3083420 = r3083408 + r3083419;
        double r3083421 = r3083414 / r3083420;
        double r3083422 = sqrt(r3083421);
        double r3083423 = asin(r3083422);
        return r3083423;
}

double f(double t, double l, double Om, double Omc) {
        double r3083424 = 1.0;
        double r3083425 = Om;
        double r3083426 = Omc;
        double r3083427 = r3083425 / r3083426;
        double r3083428 = 2.0;
        double r3083429 = pow(r3083427, r3083428);
        double r3083430 = r3083424 - r3083429;
        double r3083431 = t;
        double r3083432 = l;
        double r3083433 = r3083431 / r3083432;
        double r3083434 = pow(r3083433, r3083428);
        double r3083435 = r3083428 * r3083434;
        double r3083436 = r3083424 + r3083435;
        double r3083437 = r3083430 / r3083436;
        double r3083438 = sqrt(r3083437);
        double r3083439 = asin(r3083438);
        return r3083439;
}

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

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

    \[\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 2019174 
(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)))))))