Average Error: 10.4 → 5.6
Time: 30.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)\]
\[\begin{array}{l} \mathbf{if}\;\frac{t}{\ell} \le 1.0964407420254373 \cdot 10^{+146}:\\ \;\;\;\;\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) + 1}}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\frac{t \cdot \sqrt{2}}{\ell}}\right)\\ \end{array}\]
\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)
\begin{array}{l}
\mathbf{if}\;\frac{t}{\ell} \le 1.0964407420254373 \cdot 10^{+146}:\\
\;\;\;\;\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) + 1}}\right)\\

\mathbf{else}:\\
\;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\frac{t \cdot \sqrt{2}}{\ell}}\right)\\

\end{array}
double f(double t, double l, double Om, double Omc) {
        double r1615905 = 1.0;
        double r1615906 = Om;
        double r1615907 = Omc;
        double r1615908 = r1615906 / r1615907;
        double r1615909 = 2.0;
        double r1615910 = pow(r1615908, r1615909);
        double r1615911 = r1615905 - r1615910;
        double r1615912 = t;
        double r1615913 = l;
        double r1615914 = r1615912 / r1615913;
        double r1615915 = pow(r1615914, r1615909);
        double r1615916 = r1615909 * r1615915;
        double r1615917 = r1615905 + r1615916;
        double r1615918 = r1615911 / r1615917;
        double r1615919 = sqrt(r1615918);
        double r1615920 = asin(r1615919);
        return r1615920;
}

double f(double t, double l, double Om, double Omc) {
        double r1615921 = t;
        double r1615922 = l;
        double r1615923 = r1615921 / r1615922;
        double r1615924 = 1.0964407420254373e+146;
        bool r1615925 = r1615923 <= r1615924;
        double r1615926 = 1.0;
        double r1615927 = Om;
        double r1615928 = Omc;
        double r1615929 = r1615927 / r1615928;
        double r1615930 = r1615929 * r1615929;
        double r1615931 = r1615926 - r1615930;
        double r1615932 = 2.0;
        double r1615933 = r1615923 * r1615923;
        double r1615934 = r1615932 * r1615933;
        double r1615935 = r1615934 + r1615926;
        double r1615936 = r1615931 / r1615935;
        double r1615937 = sqrt(r1615936);
        double r1615938 = asin(r1615937);
        double r1615939 = sqrt(r1615931);
        double r1615940 = sqrt(r1615932);
        double r1615941 = r1615921 * r1615940;
        double r1615942 = r1615941 / r1615922;
        double r1615943 = r1615939 / r1615942;
        double r1615944 = asin(r1615943);
        double r1615945 = r1615925 ? r1615938 : r1615944;
        return r1615945;
}

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. Split input into 2 regimes
  2. if (/ t l) < 1.0964407420254373e+146

    1. Initial program 6.4

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

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

    if 1.0964407420254373e+146 < (/ t l)

    1. Initial program 34.2

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

      \[\leadsto \color{blue}{\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{1 + 2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}\right)}\]
    3. Using strategy rm
    4. Applied sqrt-div34.2

      \[\leadsto \sin^{-1} \color{blue}{\left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\sqrt{1 + 2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}\right)}\]
    5. Taylor expanded around inf 1.3

      \[\leadsto \sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\color{blue}{\frac{t \cdot \sqrt{2}}{\ell}}}\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t}{\ell} \le 1.0964407420254373 \cdot 10^{+146}:\\ \;\;\;\;\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) + 1}}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\frac{t \cdot \sqrt{2}}{\ell}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019146 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))