Average Error: 10.5 → 10.6
Time: 25.1s
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(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{{\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1}}\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(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{{\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1}}\right)
double f(double t, double l, double Om, double Omc) {
        double r59559 = 1.0;
        double r59560 = Om;
        double r59561 = Omc;
        double r59562 = r59560 / r59561;
        double r59563 = 2.0;
        double r59564 = pow(r59562, r59563);
        double r59565 = r59559 - r59564;
        double r59566 = t;
        double r59567 = l;
        double r59568 = r59566 / r59567;
        double r59569 = pow(r59568, r59563);
        double r59570 = r59563 * r59569;
        double r59571 = r59559 + r59570;
        double r59572 = r59565 / r59571;
        double r59573 = sqrt(r59572);
        double r59574 = asin(r59573);
        return r59574;
}

double f(double t, double l, double Om, double Omc) {
        double r59575 = 1.0;
        double r59576 = Om;
        double r59577 = Omc;
        double r59578 = r59576 / r59577;
        double r59579 = 2.0;
        double r59580 = pow(r59578, r59579);
        double r59581 = r59575 - r59580;
        double r59582 = sqrt(r59581);
        double r59583 = t;
        double r59584 = l;
        double r59585 = r59583 / r59584;
        double r59586 = pow(r59585, r59579);
        double r59587 = r59586 * r59579;
        double r59588 = r59587 + r59575;
        double r59589 = sqrt(r59588);
        double r59590 = r59582 / r59589;
        double r59591 = asin(r59590);
        return r59591;
}

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

    \[\leadsto \color{blue}{\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + {\left(\frac{t}{\ell}\right)}^{2} \cdot 2}}\right)}\]
  3. Using strategy rm
  4. Applied sqrt-div10.6

    \[\leadsto \sin^{-1} \color{blue}{\left(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{1 + {\left(\frac{t}{\ell}\right)}^{2} \cdot 2}}\right)}\]
  5. Simplified10.6

    \[\leadsto \sin^{-1} \left(\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\color{blue}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)\]
  6. Final simplification10.6

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

Reproduce

herbie shell --seed 2019179 
(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)))))))