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 r68128 = 1.0;
        double r68129 = Om;
        double r68130 = Omc;
        double r68131 = r68129 / r68130;
        double r68132 = 2.0;
        double r68133 = pow(r68131, r68132);
        double r68134 = r68128 - r68133;
        double r68135 = t;
        double r68136 = l;
        double r68137 = r68135 / r68136;
        double r68138 = pow(r68137, r68132);
        double r68139 = r68132 * r68138;
        double r68140 = r68128 + r68139;
        double r68141 = r68134 / r68140;
        double r68142 = sqrt(r68141);
        double r68143 = asin(r68142);
        return r68143;
}

double f(double t, double l, double Om, double Omc) {
        double r68144 = 1.0;
        double r68145 = Om;
        double r68146 = Omc;
        double r68147 = r68145 / r68146;
        double r68148 = 2.0;
        double r68149 = pow(r68147, r68148);
        double r68150 = r68144 - r68149;
        double r68151 = t;
        double r68152 = l;
        double r68153 = r68151 / r68152;
        double r68154 = pow(r68153, r68148);
        double r68155 = r68148 * r68154;
        double r68156 = r68144 + r68155;
        double r68157 = r68150 / r68156;
        double r68158 = sqrt(r68157);
        double r68159 = asin(r68158);
        return r68159;
}

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. Using strategy rm
  3. Applied sqrt-div10.3

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

    \[\leadsto \sin^{-1} \color{blue}{\left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)}\]
  6. 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 2019356 +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)))))))