Average Error: 10.3 → 10.3
Time: 31.2s
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{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(\frac{\sqrt{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 r64479 = 1.0;
        double r64480 = Om;
        double r64481 = Omc;
        double r64482 = r64480 / r64481;
        double r64483 = 2.0;
        double r64484 = pow(r64482, r64483);
        double r64485 = r64479 - r64484;
        double r64486 = t;
        double r64487 = l;
        double r64488 = r64486 / r64487;
        double r64489 = pow(r64488, r64483);
        double r64490 = r64483 * r64489;
        double r64491 = r64479 + r64490;
        double r64492 = r64485 / r64491;
        double r64493 = sqrt(r64492);
        double r64494 = asin(r64493);
        return r64494;
}

double f(double t, double l, double Om, double Omc) {
        double r64495 = 1.0;
        double r64496 = Om;
        double r64497 = Omc;
        double r64498 = r64496 / r64497;
        double r64499 = 2.0;
        double r64500 = pow(r64498, r64499);
        double r64501 = r64495 - r64500;
        double r64502 = sqrt(r64501);
        double r64503 = t;
        double r64504 = l;
        double r64505 = r64503 / r64504;
        double r64506 = pow(r64505, r64499);
        double r64507 = r64499 * r64506;
        double r64508 = r64495 + r64507;
        double r64509 = sqrt(r64508);
        double r64510 = r64502 / r64509;
        double r64511 = asin(r64510);
        return r64511;
}

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

    \[\leadsto \sin^{-1} \left(\frac{\sqrt{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)))))))