Average Error: 10.6 → 10.6
Time: 21.8s
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{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}{\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}}\right)}^{2} \cdot {\left(\frac{\sqrt[3]{Om}}{\sqrt[3]{Omc}}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\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{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}{\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}}\right)}^{2} \cdot {\left(\frac{\sqrt[3]{Om}}{\sqrt[3]{Omc}}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)
double f(double t, double l, double Om, double Omc) {
        double r56653 = 1.0;
        double r56654 = Om;
        double r56655 = Omc;
        double r56656 = r56654 / r56655;
        double r56657 = 2.0;
        double r56658 = pow(r56656, r56657);
        double r56659 = r56653 - r56658;
        double r56660 = t;
        double r56661 = l;
        double r56662 = r56660 / r56661;
        double r56663 = pow(r56662, r56657);
        double r56664 = r56657 * r56663;
        double r56665 = r56653 + r56664;
        double r56666 = r56659 / r56665;
        double r56667 = sqrt(r56666);
        double r56668 = asin(r56667);
        return r56668;
}

double f(double t, double l, double Om, double Omc) {
        double r56669 = 1.0;
        double r56670 = Om;
        double r56671 = cbrt(r56670);
        double r56672 = r56671 * r56671;
        double r56673 = Omc;
        double r56674 = cbrt(r56673);
        double r56675 = r56674 * r56674;
        double r56676 = r56672 / r56675;
        double r56677 = 2.0;
        double r56678 = pow(r56676, r56677);
        double r56679 = r56671 / r56674;
        double r56680 = pow(r56679, r56677);
        double r56681 = r56678 * r56680;
        double r56682 = r56669 - r56681;
        double r56683 = t;
        double r56684 = l;
        double r56685 = r56683 / r56684;
        double r56686 = pow(r56685, r56677);
        double r56687 = fma(r56677, r56686, r56669);
        double r56688 = r56682 / r56687;
        double r56689 = sqrt(r56688);
        double r56690 = asin(r56689);
        return r56690;
}

Error

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus Omc

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

    \[\leadsto \color{blue}{\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt10.6

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{\color{blue}{\left(\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}\right) \cdot \sqrt[3]{Omc}}}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)\]
  5. Applied add-cube-cbrt10.6

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{\color{blue}{\left(\sqrt[3]{Om} \cdot \sqrt[3]{Om}\right) \cdot \sqrt[3]{Om}}}{\left(\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}\right) \cdot \sqrt[3]{Omc}}\right)}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)\]
  6. Applied times-frac10.6

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\color{blue}{\left(\frac{\sqrt[3]{Om} \cdot \sqrt[3]{Om}}{\sqrt[3]{Omc} \cdot \sqrt[3]{Omc}} \cdot \frac{\sqrt[3]{Om}}{\sqrt[3]{Omc}}\right)}}^{2}}{\mathsf{fma}\left(2, {\left(\frac{t}{\ell}\right)}^{2}, 1\right)}}\right)\]
  7. Applied unpow-prod-down10.6

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

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

Reproduce

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