Average Error: 10.5 → 5.7
Time: 1.4m
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 8915468.122692978:\\ \;\;\;\;\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 8915468.122692978:\\
\;\;\;\;\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 r3848785 = 1.0;
        double r3848786 = Om;
        double r3848787 = Omc;
        double r3848788 = r3848786 / r3848787;
        double r3848789 = 2.0;
        double r3848790 = pow(r3848788, r3848789);
        double r3848791 = r3848785 - r3848790;
        double r3848792 = t;
        double r3848793 = l;
        double r3848794 = r3848792 / r3848793;
        double r3848795 = pow(r3848794, r3848789);
        double r3848796 = r3848789 * r3848795;
        double r3848797 = r3848785 + r3848796;
        double r3848798 = r3848791 / r3848797;
        double r3848799 = sqrt(r3848798);
        double r3848800 = asin(r3848799);
        return r3848800;
}

double f(double t, double l, double Om, double Omc) {
        double r3848801 = t;
        double r3848802 = l;
        double r3848803 = r3848801 / r3848802;
        double r3848804 = 8915468.122692978;
        bool r3848805 = r3848803 <= r3848804;
        double r3848806 = 1.0;
        double r3848807 = Om;
        double r3848808 = Omc;
        double r3848809 = r3848807 / r3848808;
        double r3848810 = r3848809 * r3848809;
        double r3848811 = r3848806 - r3848810;
        double r3848812 = sqrt(r3848811);
        double r3848813 = r3848803 * r3848803;
        double r3848814 = 2.0;
        double r3848815 = r3848813 * r3848814;
        double r3848816 = r3848806 + r3848815;
        double r3848817 = sqrt(r3848816);
        double r3848818 = r3848812 / r3848817;
        double r3848819 = asin(r3848818);
        double r3848820 = sqrt(r3848814);
        double r3848821 = r3848801 * r3848820;
        double r3848822 = r3848821 / r3848802;
        double r3848823 = r3848812 / r3848822;
        double r3848824 = asin(r3848823);
        double r3848825 = r3848805 ? r3848819 : r3848824;
        return r3848825;
}

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) < 8915468.122692978

    1. Initial program 7.1

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

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

    if 8915468.122692978 < (/ t l)

    1. Initial program 21.0

      \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
    2. Simplified21.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-div21.0

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

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

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