Average Error: 10.1 → 10.1
Time: 12.3s
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 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\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(\sqrt{\frac{1 \cdot 1 - {\left(\frac{Om}{Omc}\right)}^{2} \cdot {\left(\frac{Om}{Omc}\right)}^{2}}{\left(1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}\right) \cdot \left(1 + {\left(\frac{Om}{Omc}\right)}^{2}\right)}}\right)
double f(double t, double l, double Om, double Omc) {
        double r72696 = 1.0;
        double r72697 = Om;
        double r72698 = Omc;
        double r72699 = r72697 / r72698;
        double r72700 = 2.0;
        double r72701 = pow(r72699, r72700);
        double r72702 = r72696 - r72701;
        double r72703 = t;
        double r72704 = l;
        double r72705 = r72703 / r72704;
        double r72706 = pow(r72705, r72700);
        double r72707 = r72700 * r72706;
        double r72708 = r72696 + r72707;
        double r72709 = r72702 / r72708;
        double r72710 = sqrt(r72709);
        double r72711 = asin(r72710);
        return r72711;
}

double f(double t, double l, double Om, double Omc) {
        double r72712 = 1.0;
        double r72713 = r72712 * r72712;
        double r72714 = Om;
        double r72715 = Omc;
        double r72716 = r72714 / r72715;
        double r72717 = 2.0;
        double r72718 = pow(r72716, r72717);
        double r72719 = r72718 * r72718;
        double r72720 = r72713 - r72719;
        double r72721 = t;
        double r72722 = l;
        double r72723 = r72721 / r72722;
        double r72724 = pow(r72723, r72717);
        double r72725 = r72717 * r72724;
        double r72726 = r72712 + r72725;
        double r72727 = r72712 + r72718;
        double r72728 = r72726 * r72727;
        double r72729 = r72720 / r72728;
        double r72730 = sqrt(r72729);
        double r72731 = asin(r72730);
        return r72731;
}

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

    \[\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 flip--10.1

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

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

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

Reproduce

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