Average Error: 10.3 → 10.3
Time: 1.7m
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{\sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}} \cdot \sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}{\frac{\left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right) \cdot 2 + 1}{\sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}}}\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 10.3

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

    \[\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. Using strategy rm
  4. Applied add-cube-cbrt10.3

    \[\leadsto \sin^{-1} \left(\sqrt{\frac{\color{blue}{\left(\sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}} \cdot \sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}\right) \cdot \sqrt[3]{1 - \frac{Om}{Omc} \cdot \frac{Om}{Omc}}}}{1 + 2 \cdot \left(\frac{t}{\ell} \cdot \frac{t}{\ell}\right)}}\right)\]
  5. Applied associate-/l*10.3

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

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

Reproduce

herbie shell --seed 2018362 
(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.5m)Debug log

start267.0ms

Algorithm
intervals

setup244.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 14.5b

localize28.0ms

Local error

Found 4 expressions with local error:

13.4b
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l))))))
0.5b
(asin (sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))))
0.4b
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))
0.3b
(* (/ Om Omc) (/ Om Omc))

rewrite12.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
(* (/ Om Omc) (/ Om Omc))
2.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l))))))

series186.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

104.0ms
(sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l))))))
56.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.0ms
(* (/ Om Omc) (/ Om Omc))
12.0ms
(asin (sqrt (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (+ 1 (* 2 (* (/ t l) (/ t l)))))))

simplify9.7s

Counts
75 → 103
Calls

75 calls. Slowest were:

1.4s
(* (* (* (/ Om Omc) (/ Om Omc)) (/ Om Omc)) (* (* (/ Om Omc) (/ Om Omc)) (/ Om Omc)))
507.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))
498.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))

prune1.8s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 14.4b

localize18.0ms

Local error

Found 4 expressions with local error:

13.4b
(sqrt (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))))))
0.5b
(asin (sqrt (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))))))
0.4b
(/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))))
0.3b
(* (/ Om Omc) (/ Om Omc))

rewrite19.0ms

Algorithm
rewrite-expression-head
Counts
4 → 151
Calls

4 calls. Slowest were:

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

series224.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

129.0ms
(sqrt (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))))))
60.0ms
(/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))))
22.0ms
(* (/ Om Omc) (/ Om Omc))
12.0ms
(asin (sqrt (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))))))

simplify21.9s

Counts
151 → 163
Calls

151 calls. Slowest were:

1.0s
(* (* (* (/ Om Omc) (/ Om Omc)) (/ Om Omc)) (* (* (/ Om Omc) (/ Om Omc)) (/ Om Omc)))
773.0ms
(cbrt (+ (* 1 1) (+ (* (* (/ Om Omc) (/ Om Omc)) (* (/ Om Omc) (/ Om Omc))) (* 1 (* (/ Om Omc) (/ Om Omc))))))
529.0ms
(/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (/ (+ 1 (* 2 (* (/ t l) (/ t l)))) (cbrt (- (* 1 1) (* (* (/ Om Omc) (/ Om Omc)) (* (/ Om Omc) (/ Om Omc)))))))

prune3.2s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 14.4b

localize21.0ms

Local error

Found 4 expressions with local error:

13.4b
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))))
13.3b
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.3b
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
0.7b
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))

rewrite16.0ms

Algorithm
rewrite-expression-head
Counts
4 → 238
Calls

4 calls. Slowest were:

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

series318.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

128.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))))
109.0ms
(/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))
43.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
37.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))

simplify37.9s

Counts
233 → 250
Calls

233 calls. Slowest were:

573.0ms
(sqrt (/ (/ (* (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (- 1 (* (/ Om Omc) (/ Om Omc))))) (sqrt (* (cbrt (+ 1 (* 2 (* (/ t l) (/ t l))))) (cbrt (+ 1 (* 2 (* (/ t l) (/ t l)))))))) (sqrt 1)))
526.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))) (* (cbrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))) (cbrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))))))
522.0ms
(sqrt (/ (/ (- 1 (* (/ Om Omc) (/ Om Omc))) (sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))) (sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))))

prune5.7s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 14.4b

localize70.0ms

Local error

Found 4 expressions with local error:

13.3b
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.3b
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
13.3b
(sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))
7.9b
(sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
4 → 60
Calls

4 calls. Slowest were:

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

series311.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

154.0ms
(sqrt (sqrt (+ 1 (* 2 (* (/ t l) (/ t l))))))
61.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
53.0ms
(sqrt (+ 1 (* 2 (* (/ t l) (/ t l)))))
42.0ms
(sqrt (+ 1 (/ 2 (* (/ l t) (/ l t)))))

simplify4.6s

Counts
40 → 72
Calls

40 calls. Slowest were:

420.0ms
(sqrt (sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3))))
407.0ms
(sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))
395.0ms
(sqrt (+ (pow 1 3) (pow (* 2 (* (/ t l) (/ t l))) 3)))

prune2.0s

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 14.4b

regimes502.0ms

Accuracy

0% (0.1b remaining)

Error of 10.3b against oracle of 10.2b and baseline of 10.3b

bsearch4.0ms