Average Error: 10.1 → 10.1
Time: 7.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{\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 r64626 = 1.0;
        double r64627 = Om;
        double r64628 = Omc;
        double r64629 = r64627 / r64628;
        double r64630 = 2.0;
        double r64631 = pow(r64629, r64630);
        double r64632 = r64626 - r64631;
        double r64633 = t;
        double r64634 = l;
        double r64635 = r64633 / r64634;
        double r64636 = pow(r64635, r64630);
        double r64637 = r64630 * r64636;
        double r64638 = r64626 + r64637;
        double r64639 = r64632 / r64638;
        double r64640 = sqrt(r64639);
        double r64641 = asin(r64640);
        return r64641;
}

double f(double t, double l, double Om, double Omc) {
        double r64642 = 1.0;
        double r64643 = Om;
        double r64644 = Omc;
        double r64645 = r64643 / r64644;
        double r64646 = 2.0;
        double r64647 = pow(r64645, r64646);
        double r64648 = exp(r64647);
        double r64649 = log(r64648);
        double r64650 = r64642 - r64649;
        double r64651 = t;
        double r64652 = l;
        double r64653 = r64651 / r64652;
        double r64654 = pow(r64653, r64646);
        double r64655 = r64646 * r64654;
        double r64656 = r64642 + r64655;
        double r64657 = r64650 / r64656;
        double r64658 = sqrt(r64657);
        double r64659 = asin(r64658);
        return r64659;
}

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

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

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

    \[\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 2020062 
(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)))))))