Average Error: 10.2 → 10.3
Time: 24.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{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\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{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}{\sqrt{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r60685 = 1.0;
        double r60686 = Om;
        double r60687 = Omc;
        double r60688 = r60686 / r60687;
        double r60689 = 2.0;
        double r60690 = pow(r60688, r60689);
        double r60691 = r60685 - r60690;
        double r60692 = t;
        double r60693 = l;
        double r60694 = r60692 / r60693;
        double r60695 = pow(r60694, r60689);
        double r60696 = r60689 * r60695;
        double r60697 = r60685 + r60696;
        double r60698 = r60691 / r60697;
        double r60699 = sqrt(r60698);
        double r60700 = asin(r60699);
        return r60700;
}

double f(double t, double l, double Om, double Omc) {
        double r60701 = 1.0;
        double r60702 = Om;
        double r60703 = Omc;
        double r60704 = r60702 / r60703;
        double r60705 = 2.0;
        double r60706 = pow(r60704, r60705);
        double r60707 = r60701 - r60706;
        double r60708 = t;
        double r60709 = l;
        double r60710 = r60708 / r60709;
        double r60711 = pow(r60710, r60705);
        double r60712 = r60705 * r60711;
        double r60713 = r60701 + r60712;
        double r60714 = sqrt(r60713);
        double r60715 = r60707 / r60714;
        double r60716 = r60715 / r60714;
        double r60717 = sqrt(r60716);
        double r60718 = asin(r60717);
        return r60718;
}

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

    \[\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 associate-/r*10.3

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

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

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

Reproduce

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