Average Error: 10.3 → 10.3
Time: 30.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 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\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 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r61854 = 1.0;
        double r61855 = Om;
        double r61856 = Omc;
        double r61857 = r61855 / r61856;
        double r61858 = 2.0;
        double r61859 = pow(r61857, r61858);
        double r61860 = r61854 - r61859;
        double r61861 = t;
        double r61862 = l;
        double r61863 = r61861 / r61862;
        double r61864 = pow(r61863, r61858);
        double r61865 = r61858 * r61864;
        double r61866 = r61854 + r61865;
        double r61867 = r61860 / r61866;
        double r61868 = sqrt(r61867);
        double r61869 = asin(r61868);
        return r61869;
}

double f(double t, double l, double Om, double Omc) {
        double r61870 = 1.0;
        double r61871 = Om;
        double r61872 = Omc;
        double r61873 = r61871 / r61872;
        double r61874 = 2.0;
        double r61875 = pow(r61873, r61874);
        double r61876 = r61870 - r61875;
        double r61877 = t;
        double r61878 = l;
        double r61879 = r61877 / r61878;
        double r61880 = pow(r61879, r61874);
        double r61881 = r61874 * r61880;
        double r61882 = r61870 + r61881;
        double r61883 = r61876 / r61882;
        double r61884 = sqrt(r61883);
        double r61885 = asin(r61884);
        return r61885;
}

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

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

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

Reproduce

herbie shell --seed 2019326 +o rules:numerics
(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)))))))