Average Error: 9.8 → 9.8
Time: 45.1s
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 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{1 + \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2}}\right)\]

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 9.8

    \[\sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right)\]
  2. Initial simplification9.8

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}{1 + 2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}\right)\]
  3. Final simplification9.8

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

Reproduce

herbie shell --seed 2018360 
(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: 34.0s)Debug log

start189.0ms

Algorithm
intervals

setup176.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 8.8b

localize41.0ms

Local error

Found 4 expressions with local error:

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

rewrite11.0ms

Algorithm
rewrite-expression-head
Counts
4 → 91
Calls

4 calls. Slowest were:

4.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))
3.0ms
(* (/ t l) (/ t l))
3.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l))))))

series203.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

106.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l))))))
61.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))
22.0ms
(asin (sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))))
13.0ms
(* (/ t l) (/ t l))

simplify8.6s

Counts
75 → 103
Calls

75 calls. Slowest were:

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

prune1.7s

Pruning

8 alts after pruning (7 fresh and 1 done)

Merged error: 8.8b

localize33.0ms

Local error

Found 4 expressions with local error:

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

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 48
Calls

4 calls. Slowest were:

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

series369.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

250.0ms
(sqrt (* (/ 1 (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))) (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))))
54.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
44.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
21.0ms
(asin (sqrt (* (/ 1 (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))) (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))))))

simplify4.1s

Counts
28 → 60
Calls

28 calls. Slowest were:

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

prune1.1s

Pruning

8 alts after pruning (6 fresh and 2 done)

Merged error: 8.8b

localize29.0ms

Local error

Found 4 expressions with local error:

8.2b
(sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))
8.2b
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
7.3b
(sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))
7.3b
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 82
Calls

4 calls. Slowest were:

4.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))))
2.0ms
(sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))
1.0ms
(sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))

series459.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

237.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))))
151.0ms
(sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))
37.0ms
(sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))
32.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))

simplify6.9s

Counts
62 → 94
Calls

62 calls. Slowest were:

449.0ms
(sqrt (sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3))))
441.0ms
(exp (* 1/4 (- (+ (log 2) (* 2 (log (/ 1 l)))) (* 2 (log (/ 1 t))))))
359.0ms
(sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))

prune2.0s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 8.8b

localize21.0ms

Local error

Found 4 expressions with local error:

13.1b
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.1b
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.1b
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
7.9b
(sqrt (* (/ 1 (* (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))) (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 51
Calls

4 calls. Slowest were:

1.0ms
(sqrt (* (/ 1 (* (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))) (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))))
1.0ms
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
1.0ms
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))

series608.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

227.0ms
(sqrt (* (/ 1 (* (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))) (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))))))
134.0ms
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
124.0ms
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
123.0ms
(cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))

simplify5.6s

Counts
31 → 63
Calls

31 calls. Slowest were:

459.0ms
(cbrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))
440.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ 1 l)))) (* 2 (log (/ 1 t))))))
422.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ 1 l)))) (* 2 (log (/ 1 t))))))

prune1.2s

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 8.8b

regimes639.0ms

Accuracy

0% (0.1b remaining)

Error of 9.8b against oracle of 9.7b and baseline of 9.8b

bsearch3.0ms