Average Error: 10.6 → 9.3
Time: 2.6m
Precision: 64
Internal Precision: 384
\[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
\[\begin{array}{l} \mathbf{if}\;\sin^{-1} \left(e^{\left(\frac{1}{6} + \frac{1}{3}\right) \cdot \left(\log \frac{1}{2} - \left(2 \cdot \log t - 2 \cdot \log \ell\right)\right)} \cdot \sqrt{1 - \left(Om \cdot \frac{1}{Omc}\right) \cdot \left(Om \cdot \frac{1}{Omc}\right)}\right) \le 2.068721797526652 \cdot 10^{-207}:\\ \;\;\;\;\sin^{-1} \left(e^{\left(\frac{1}{6} + \frac{1}{3}\right) \cdot \left(\log \frac{1}{2} - \left(2 \cdot \log t - 2 \cdot \log \ell\right)\right)} \cdot \sqrt{1 - \left(Om \cdot \frac{1}{Omc}\right) \cdot \left(Om \cdot \frac{1}{Omc}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\\ \end{array}\]

Error

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus Omc

Derivation

  1. Split input into 2 regimes
  2. if (asin (* (exp (* (+ 1/6 1/3) (- (log 1/2) (- (* 2 (log t)) (* 2 (log l)))))) (sqrt (- 1 (* (* Om (/ 1 Omc)) (* Om (/ 1 Omc))))))) < 2.068721797526652e-207

    1. Initial program 25.8

      \[\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-cube-cbrt25.8

      \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{\color{blue}{\left(\sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}} \cdot \sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}\right) \cdot \sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}}\right)\]
    4. Applied add-cube-cbrt25.8

      \[\leadsto \sin^{-1} \left(\sqrt{\frac{\color{blue}{\left(\sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}} \cdot \sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}\right) \cdot \sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}}{\left(\sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}} \cdot \sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}\right) \cdot \sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}\right)\]
    5. Applied times-frac25.8

      \[\leadsto \sin^{-1} \left(\sqrt{\color{blue}{\frac{\sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}} \cdot \sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}} \cdot \sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}} \cdot \frac{\sqrt[3]{1 - {\left(\frac{Om}{Omc}\right)}^{2}}}{\sqrt[3]{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}}}\right)\]
    6. Taylor expanded around inf 48.1

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

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

    if 2.068721797526652e-207 < (asin (* (exp (* (+ 1/6 1/3) (- (log 1/2) (- (* 2 (log t)) (* 2 (log l)))))) (sqrt (- 1 (* (* Om (/ 1 Omc)) (* Om (/ 1 Omc)))))))

    1. Initial program 9.7

      \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  3. Recombined 2 regimes into one program.

Runtime

Time bar (total: 2.6m)Debug logProfile

herbie shell --seed '#(1070609872 3456127585 2380521889 2328837196 1765472538 734540918)' 
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))