Average Error: 10.3 → 10.4
Time: 36.6s
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(\left|\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{{\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1}}\right|\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(\left|\frac{\sqrt{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt{{\left(\frac{t}{\ell}\right)}^{2} \cdot 2 + 1}}\right|\right)
double f(double t, double l, double Om, double Omc) {
        double r5777059 = 1.0;
        double r5777060 = Om;
        double r5777061 = Omc;
        double r5777062 = r5777060 / r5777061;
        double r5777063 = 2.0;
        double r5777064 = pow(r5777062, r5777063);
        double r5777065 = r5777059 - r5777064;
        double r5777066 = t;
        double r5777067 = l;
        double r5777068 = r5777066 / r5777067;
        double r5777069 = pow(r5777068, r5777063);
        double r5777070 = r5777063 * r5777069;
        double r5777071 = r5777059 + r5777070;
        double r5777072 = r5777065 / r5777071;
        double r5777073 = sqrt(r5777072);
        double r5777074 = asin(r5777073);
        return r5777074;
}

double f(double t, double l, double Om, double Omc) {
        double r5777075 = 1.0;
        double r5777076 = Om;
        double r5777077 = Omc;
        double r5777078 = r5777076 / r5777077;
        double r5777079 = 2.0;
        double r5777080 = pow(r5777078, r5777079);
        double r5777081 = r5777075 - r5777080;
        double r5777082 = sqrt(r5777081);
        double r5777083 = t;
        double r5777084 = l;
        double r5777085 = r5777083 / r5777084;
        double r5777086 = pow(r5777085, r5777079);
        double r5777087 = r5777086 * r5777079;
        double r5777088 = r5777087 + r5777075;
        double r5777089 = sqrt(r5777088);
        double r5777090 = r5777082 / r5777089;
        double r5777091 = fabs(r5777090);
        double r5777092 = asin(r5777091);
        return r5777092;
}

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 add-sqr-sqrt10.4

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\color{blue}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}} \cdot \sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}}\right)\]
  4. Applied add-sqr-sqrt10.4

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

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

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

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

Reproduce

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