Average Error: 10.0 → 10.1
Time: 1.4m
Precision: 64
Internal Precision: 128
\[\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}{\sqrt{\sqrt{(\left(\frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot 2\right) + 1)_*}}}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}} \cdot \sqrt{\left|\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}\right|}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]

Error

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus Omc

Derivation

  1. Initial program 10.0

    \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  2. Taylor expanded around 0 25.4

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

    \[\leadsto \color{blue}{\sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}\right)}\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\color{blue}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*} \cdot \sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}\right)\]
  6. Applied associate-/r*10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\color{blue}{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}\right)\]
  7. Using strategy rm
  8. Applied *-un-lft-identity10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}{\color{blue}{1 \cdot \sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}\right)\]
  9. Applied add-sqr-sqrt10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\color{blue}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}} \cdot \sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}}{1 \cdot \sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  10. Applied *-un-lft-identity10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\frac{\color{blue}{1 \cdot \left(1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}\right)}}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}} \cdot \sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{1 \cdot \sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  11. Applied times-frac10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\color{blue}{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}} \cdot \frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}}{1 \cdot \sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  12. Applied times-frac10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\color{blue}{\frac{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{1} \cdot \frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}\right)\]
  13. Applied sqrt-prod10.1

    \[\leadsto \sin^{-1} \color{blue}{\left(\sqrt{\frac{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{1}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)}\]
  14. Simplified10.1

    \[\leadsto \sin^{-1} \left(\color{blue}{\sqrt{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot 2\right) + 1)_*}}}}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  15. Using strategy rm
  16. Applied add-cube-cbrt10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot 2\right) + 1)_*}}}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\sqrt{\color{blue}{\left(\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*} \cdot \sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}\right) \cdot \sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  17. Applied sqrt-prod10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot 2\right) + 1)_*}}}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\sqrt{\color{blue}{\sqrt{\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*} \cdot \sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}} \cdot \sqrt{\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  18. Applied sqrt-prod10.1

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1}{\sqrt{\sqrt{(\left(\frac{t}{\ell}\right) \cdot \left(\frac{t}{\ell} \cdot 2\right) + 1)_*}}}} \cdot \sqrt{\frac{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{\color{blue}{\sqrt{\sqrt{\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*} \cdot \sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}} \cdot \sqrt{\sqrt{\sqrt[3]{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}}}}{\sqrt{(\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1)_*}}}\right)\]
  19. Simplified10.1

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

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

Reproduce

herbie shell --seed 2019008 +o rules:numerics
(FPCore (t l Om Omc)
  :name "Toniolo and Linder, Equation (2)"
  (asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))

Details

Time bar (total: 1.4m)Debug log

sample213.0ms

Algorithm
intervals

simplify175.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

175.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))

prune12.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 9.1b

localize47.0ms

Local error

Found 4 expressions with local error:

8.2b
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
0.6b
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
0.2b
(pow (/ t l) 2)
0.2b
(/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
4 → 89
Calls

4 calls. Slowest were:

6.0ms
(/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))
3.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
1.0ms
(pow (/ t l) 2)

series209.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

108.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
67.0ms
(/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))
18.0ms
(pow (/ t l) 2)
16.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))

simplify5.6s

Counts
66 → 101
Calls

66 calls. Slowest were:

343.0ms
(- (* 1 1) (* (pow (/ Om Omc) 2) (pow (/ Om Omc) 2)))
265.0ms
(- (pow 1 3) (pow (pow (/ Om Omc) 2) 3))
239.0ms
(+ (* 1 1) (- (* (* 2 (pow (/ t l) 2)) (* 2 (pow (/ t l) 2))) (* 1 (* 2 (pow (/ t l) 2)))))

prune1.3s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 9.0b

localize18.0ms

Local error

Found 4 expressions with local error:

8.2b
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1)))
0.6b
(asin (sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1))))
0.2b
(* (/ t l) (/ t l))
0.2b
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1))

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 95
Calls

4 calls. Slowest were:

7.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1))
3.0ms
(* (/ t l) (/ t l))
2.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1)))

series237.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

144.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1)))
67.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1))
14.0ms
(* (/ t l) (/ t l))
11.0ms
(asin (sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (fma (* (/ t l) (/ t l)) 2 1))))

simplify5.8s

Counts
71 → 107
Calls

71 calls. Slowest were:

575.0ms
(* (* (* (/ t l) (/ t l)) (/ t l)) (* (* (/ t l) (/ t l)) (/ t l)))
460.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (fma (/ (pow t 2) (pow l 2)) 2 1))))
345.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (fma (/ (pow t 2) (pow l 2)) 2 1))))

prune1.8s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 9.0b

localize27.0ms

Local error

Found 4 expressions with local error:

8.2b
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
8.2b
(sqrt (fma (* (/ t l) (/ t l)) 2 1))
8.2b
(sqrt (fma (* (/ t l) (/ t l)) 2 1))
0.6b
(asin (sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (sqrt (fma (* (/ t l) (/ t l)) 2 1)))))

rewrite23.0ms

Algorithm
rewrite-expression-head
Counts
4 → 192
Calls

4 calls. Slowest were:

10.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
2.0ms
(sqrt (fma (* (/ t l) (/ t l)) 2 1))
2.0ms
(sqrt (fma (* (/ t l) (/ t l)) 2 1))

series246.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

152.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
41.0ms
(sqrt (fma (* (/ t l) (/ t l)) 2 1))
39.0ms
(sqrt (fma (* (/ t l) (/ t l)) 2 1))
13.0ms
(asin (sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (sqrt (fma (* (/ t l) (/ t l)) 2 1)))))

simplify21.4s

Counts
164 → 204
Calls

164 calls. Slowest were:

428.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (fma (/ (pow t 2) (pow l 2)) 2 1))))
408.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (fma (/ (pow t 2) (pow l 2)) 2 1))))
356.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (fma (/ (pow t 2) (pow l 2)) 2 1))))

prune4.0s

Pruning

8 alts after pruning (8 fresh and 0 done)

Merged error: 9.0b

localize66.0ms

Local error

Found 4 expressions with local error:

11.0b
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (sqrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
10.4b
(sqrt (sqrt (fma (/ t l) (* (/ t l) 2) 1)))
10.4b
(sqrt (sqrt (fma (* (/ t l) (/ t l)) 2 1)))
8.2b
(sqrt (fma (/ t l) (* (/ t l) 2) 1))

rewrite39.0ms

Algorithm
rewrite-expression-head
Counts
4 → 260
Calls

4 calls. Slowest were:

12.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (sqrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
9.0ms
(sqrt (fma (/ t l) (* (/ t l) 2) 1))
2.0ms
(sqrt (sqrt (fma (/ t l) (* (/ t l) 2) 1)))

series609.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

235.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (sqrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (fma (* (/ t l) (/ t l)) 2 1))))
180.0ms
(sqrt (sqrt (fma (/ t l) (* (/ t l) 2) 1)))
138.0ms
(sqrt (sqrt (fma (* (/ t l) (/ t l)) 2 1)))
56.0ms
(sqrt (fma (/ t l) (* (/ t l) 2) 1))

simplify30.2s

Counts
232 → 272
Calls

232 calls. Slowest were:

564.0ms
(sqrt (/ (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (sqrt (sqrt 1))) (* (cbrt (sqrt (fma (* (/ t l) (/ t l)) 2 1))) (cbrt (sqrt (fma (* (/ t l) (/ t l)) 2 1))))))
369.0ms
(exp (* 1/4 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
351.0ms
(/ (* (exp (* 1/8 (- (+ (log 1/8) (* 6 (log (/ 1 t)))) (* 6 (log (/ 1 l)))))) (* (sqrt -1) Om)) Omc)

prune6.9s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 9.0b

regimes595.0ms

Accuracy

0% (0.2b remaining)

Error of 10.1b against oracle of 10.0b and baseline of 10.1b

bsearch7.0ms

end0.0ms

sample5.6s

Algorithm
intervals