Average Error: 10.5 → 10.5
Time: 11.8s
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 r81466 = 1.0;
        double r81467 = Om;
        double r81468 = Omc;
        double r81469 = r81467 / r81468;
        double r81470 = 2.0;
        double r81471 = pow(r81469, r81470);
        double r81472 = r81466 - r81471;
        double r81473 = t;
        double r81474 = l;
        double r81475 = r81473 / r81474;
        double r81476 = pow(r81475, r81470);
        double r81477 = r81470 * r81476;
        double r81478 = r81466 + r81477;
        double r81479 = r81472 / r81478;
        double r81480 = sqrt(r81479);
        double r81481 = asin(r81480);
        return r81481;
}

double f(double t, double l, double Om, double Omc) {
        double r81482 = 1.0;
        double r81483 = Om;
        double r81484 = Omc;
        double r81485 = r81483 / r81484;
        double r81486 = 2.0;
        double r81487 = pow(r81485, r81486);
        double r81488 = r81482 - r81487;
        double r81489 = t;
        double r81490 = l;
        double r81491 = r81489 / r81490;
        double r81492 = pow(r81491, r81486);
        double r81493 = r81486 * r81492;
        double r81494 = r81482 + r81493;
        double r81495 = r81488 / r81494;
        double r81496 = sqrt(r81495);
        double r81497 = asin(r81496);
        return r81497;
}

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

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

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