Average Error: 10.3 → 5.8
Time: 26.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)\]
\[\begin{array}{l} \mathbf{if}\;\frac{t}{\ell} \le 8.516626991432281 \cdot 10^{+142}:\\ \;\;\;\;\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 8.516626991432281 \cdot 10^{+142}:\\
\;\;\;\;\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 r1887884 = 1.0;
        double r1887885 = Om;
        double r1887886 = Omc;
        double r1887887 = r1887885 / r1887886;
        double r1887888 = 2.0;
        double r1887889 = pow(r1887887, r1887888);
        double r1887890 = r1887884 - r1887889;
        double r1887891 = t;
        double r1887892 = l;
        double r1887893 = r1887891 / r1887892;
        double r1887894 = pow(r1887893, r1887888);
        double r1887895 = r1887888 * r1887894;
        double r1887896 = r1887884 + r1887895;
        double r1887897 = r1887890 / r1887896;
        double r1887898 = sqrt(r1887897);
        double r1887899 = asin(r1887898);
        return r1887899;
}

double f(double t, double l, double Om, double Omc) {
        double r1887900 = t;
        double r1887901 = l;
        double r1887902 = r1887900 / r1887901;
        double r1887903 = 8.516626991432281e+142;
        bool r1887904 = r1887902 <= r1887903;
        double r1887905 = 1.0;
        double r1887906 = Om;
        double r1887907 = Omc;
        double r1887908 = r1887906 / r1887907;
        double r1887909 = r1887908 * r1887908;
        double r1887910 = r1887905 - r1887909;
        double r1887911 = 2.0;
        double r1887912 = r1887902 * r1887902;
        double r1887913 = r1887911 * r1887912;
        double r1887914 = r1887913 + r1887905;
        double r1887915 = r1887910 / r1887914;
        double r1887916 = sqrt(r1887915);
        double r1887917 = asin(r1887916);
        double r1887918 = sqrt(r1887910);
        double r1887919 = sqrt(r1887911);
        double r1887920 = r1887900 * r1887919;
        double r1887921 = r1887920 / r1887901;
        double r1887922 = r1887918 / r1887921;
        double r1887923 = asin(r1887922);
        double r1887924 = r1887904 ? r1887917 : r1887923;
        return r1887924;
}

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) < 8.516626991432281e+142

    1. Initial program 6.6

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

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

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

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

    if 8.516626991432281e+142 < (/ t l)

    1. Initial program 32.3

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

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

      \[\leadsto \sin^{-1} \color{blue}{\left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\sqrt{1 + \frac{2}{\frac{\ell}{t} \cdot \frac{\ell}{t}}}}\right)}\]
    5. Taylor expanded around 0 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.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t}{\ell} \le 8.516626991432281 \cdot 10^{+142}:\\ \;\;\;\;\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 2019135 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))