Average Error: 10.3 → 10.3
Time: 9.2s
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 - \log \left(e^{{\left(\frac{Om}{Omc}\right)}^{2}}\right)}{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 - \log \left(e^{{\left(\frac{Om}{Omc}\right)}^{2}}\right)}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)
double f(double t, double l, double Om, double Omc) {
        double r61189 = 1.0;
        double r61190 = Om;
        double r61191 = Omc;
        double r61192 = r61190 / r61191;
        double r61193 = 2.0;
        double r61194 = pow(r61192, r61193);
        double r61195 = r61189 - r61194;
        double r61196 = t;
        double r61197 = l;
        double r61198 = r61196 / r61197;
        double r61199 = pow(r61198, r61193);
        double r61200 = r61193 * r61199;
        double r61201 = r61189 + r61200;
        double r61202 = r61195 / r61201;
        double r61203 = sqrt(r61202);
        double r61204 = asin(r61203);
        return r61204;
}

double f(double t, double l, double Om, double Omc) {
        double r61205 = 1.0;
        double r61206 = Om;
        double r61207 = Omc;
        double r61208 = r61206 / r61207;
        double r61209 = 2.0;
        double r61210 = pow(r61208, r61209);
        double r61211 = exp(r61210);
        double r61212 = log(r61211);
        double r61213 = r61205 - r61212;
        double r61214 = t;
        double r61215 = l;
        double r61216 = r61214 / r61215;
        double r61217 = pow(r61216, r61209);
        double r61218 = r61209 * r61217;
        double r61219 = r61205 + r61218;
        double r61220 = r61213 / r61219;
        double r61221 = sqrt(r61220);
        double r61222 = asin(r61221);
        return r61222;
}

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. Using strategy rm
  3. Applied add-log-exp10.3

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

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

Reproduce

herbie shell --seed 2020081 
(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)))))))