Average Error: 10.1 → 5.4
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)\]
\[\begin{array}{l} \mathbf{if}\;\frac{t}{\ell} \le 1.2007149219171108 \cdot 10^{+153}:\\ \;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\sqrt{1 + \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2}}\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.2007149219171108 \cdot 10^{+153}:\\
\;\;\;\;\sin^{-1} \left(\frac{\sqrt{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\sqrt{1 + \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2}}\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 r1704589 = 1.0;
        double r1704590 = Om;
        double r1704591 = Omc;
        double r1704592 = r1704590 / r1704591;
        double r1704593 = 2.0;
        double r1704594 = pow(r1704592, r1704593);
        double r1704595 = r1704589 - r1704594;
        double r1704596 = t;
        double r1704597 = l;
        double r1704598 = r1704596 / r1704597;
        double r1704599 = pow(r1704598, r1704593);
        double r1704600 = r1704593 * r1704599;
        double r1704601 = r1704589 + r1704600;
        double r1704602 = r1704595 / r1704601;
        double r1704603 = sqrt(r1704602);
        double r1704604 = asin(r1704603);
        return r1704604;
}

double f(double t, double l, double Om, double Omc) {
        double r1704605 = t;
        double r1704606 = l;
        double r1704607 = r1704605 / r1704606;
        double r1704608 = 1.2007149219171108e+153;
        bool r1704609 = r1704607 <= r1704608;
        double r1704610 = 1.0;
        double r1704611 = Om;
        double r1704612 = Omc;
        double r1704613 = r1704611 / r1704612;
        double r1704614 = r1704613 * r1704613;
        double r1704615 = r1704610 - r1704614;
        double r1704616 = sqrt(r1704615);
        double r1704617 = r1704607 * r1704607;
        double r1704618 = 2.0;
        double r1704619 = r1704617 * r1704618;
        double r1704620 = r1704610 + r1704619;
        double r1704621 = sqrt(r1704620);
        double r1704622 = r1704616 / r1704621;
        double r1704623 = asin(r1704622);
        double r1704624 = sqrt(r1704618);
        double r1704625 = r1704605 * r1704624;
        double r1704626 = r1704625 / r1704606;
        double r1704627 = r1704616 / r1704626;
        double r1704628 = asin(r1704627);
        double r1704629 = r1704609 ? r1704623 : r1704628;
        return r1704629;
}

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.2007149219171108e+153

    1. Initial program 6.0

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

      \[\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-div6.1

      \[\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)}\]

    if 1.2007149219171108e+153 < (/ t l)

    1. Initial program 34.9

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

      \[\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.9

      \[\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.4

      \[\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.4

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