Average Error: 10.9 → 10.9
Time: 8.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 r69476 = 1.0;
        double r69477 = Om;
        double r69478 = Omc;
        double r69479 = r69477 / r69478;
        double r69480 = 2.0;
        double r69481 = pow(r69479, r69480);
        double r69482 = r69476 - r69481;
        double r69483 = t;
        double r69484 = l;
        double r69485 = r69483 / r69484;
        double r69486 = pow(r69485, r69480);
        double r69487 = r69480 * r69486;
        double r69488 = r69476 + r69487;
        double r69489 = r69482 / r69488;
        double r69490 = sqrt(r69489);
        double r69491 = asin(r69490);
        return r69491;
}

double f(double t, double l, double Om, double Omc) {
        double r69492 = 1.0;
        double r69493 = Om;
        double r69494 = Omc;
        double r69495 = r69493 / r69494;
        double r69496 = 2.0;
        double r69497 = pow(r69495, r69496);
        double r69498 = r69492 - r69497;
        double r69499 = t;
        double r69500 = l;
        double r69501 = r69499 / r69500;
        double r69502 = pow(r69501, r69496);
        double r69503 = r69496 * r69502;
        double r69504 = r69492 + r69503;
        double r69505 = r69498 / r69504;
        double r69506 = sqrt(r69505);
        double r69507 = asin(r69506);
        return r69507;
}

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

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

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