Average Error: 10.6 → 10.6
Time: 8.9s
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{1 \cdot \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{1 \cdot \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 r69153 = 1.0;
        double r69154 = Om;
        double r69155 = Omc;
        double r69156 = r69154 / r69155;
        double r69157 = 2.0;
        double r69158 = pow(r69156, r69157);
        double r69159 = r69153 - r69158;
        double r69160 = t;
        double r69161 = l;
        double r69162 = r69160 / r69161;
        double r69163 = pow(r69162, r69157);
        double r69164 = r69157 * r69163;
        double r69165 = r69153 + r69164;
        double r69166 = r69159 / r69165;
        double r69167 = sqrt(r69166);
        double r69168 = asin(r69167);
        return r69168;
}

double f(double t, double l, double Om, double Omc) {
        double r69169 = 1.0;
        double r69170 = 1.0;
        double r69171 = Om;
        double r69172 = Omc;
        double r69173 = r69171 / r69172;
        double r69174 = 2.0;
        double r69175 = pow(r69173, r69174);
        double r69176 = r69170 - r69175;
        double r69177 = t;
        double r69178 = l;
        double r69179 = r69177 / r69178;
        double r69180 = pow(r69179, r69174);
        double r69181 = r69174 * r69180;
        double r69182 = r69170 + r69181;
        double r69183 = r69176 / r69182;
        double r69184 = r69169 * r69183;
        double r69185 = sqrt(r69184);
        double r69186 = asin(r69185);
        return r69186;
}

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

    \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  2. Using strategy rm
  3. Applied *-un-lft-identity10.6

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

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

Reproduce

herbie shell --seed 2020060 +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)))))))