Average Error: 10.3 → 10.3
Time: 28.5s
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}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}} \cdot \frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{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}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}} \cdot \frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r58243 = 1.0;
        double r58244 = Om;
        double r58245 = Omc;
        double r58246 = r58244 / r58245;
        double r58247 = 2.0;
        double r58248 = pow(r58246, r58247);
        double r58249 = r58243 - r58248;
        double r58250 = t;
        double r58251 = l;
        double r58252 = r58250 / r58251;
        double r58253 = pow(r58252, r58247);
        double r58254 = r58247 * r58253;
        double r58255 = r58243 + r58254;
        double r58256 = r58249 / r58255;
        double r58257 = sqrt(r58256);
        double r58258 = asin(r58257);
        return r58258;
}

double f(double t, double l, double Om, double Omc) {
        double r58259 = 1.0;
        double r58260 = 1.0;
        double r58261 = 2.0;
        double r58262 = t;
        double r58263 = l;
        double r58264 = r58262 / r58263;
        double r58265 = pow(r58264, r58261);
        double r58266 = r58261 * r58265;
        double r58267 = r58260 + r58266;
        double r58268 = sqrt(r58267);
        double r58269 = r58259 / r58268;
        double r58270 = Om;
        double r58271 = Omc;
        double r58272 = r58270 / r58271;
        double r58273 = pow(r58272, r58261);
        double r58274 = r58260 - r58273;
        double r58275 = r58274 / r58268;
        double r58276 = r58269 * r58275;
        double r58277 = sqrt(r58276);
        double r58278 = asin(r58277);
        return r58278;
}

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

    \[\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 *-un-lft-identity10.3

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

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

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

Reproduce

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