Average Error: 10.3 → 10.3
Time: 37.7s
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 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{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 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. Final simplification10.3

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

Reproduce

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

sample261.0ms

Algorithm
intervals

simplify236.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
236.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))

prune18.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 10.6b

localize39.0ms

Local error

Found 4 expressions with local error:

9.8b
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
0.4b
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
0.3b
(/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))
0.2b
(pow (/ t l) 2)

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
23×add-sqr-sqrt
20×add-cube-cbrt
20×*-un-lft-identity
19×times-frac
15×sqrt-prod
add-exp-log
add-cbrt-cube
pow1
add-log-exp
associate-/r/
unpow-prod-down
associate-/l*
div-inv
associate-/r*
associate-/l/
flip-+
flip3-+
rem-sqrt-square
unpow2
flip--
pow-exp
div-exp
div-sub
sqrt-div
pow1/2
flip3--
frac-2neg
pow-pow
clear-num
asin-acos
cbrt-undiv
pow-to-exp
Counts
4 → 81
Calls
4 calls:
Slowest
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)
1.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))

series254.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
140.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
76.0ms
(/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))
22.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
16.0ms
(pow (/ t l) 2)

simplify6.6s

Counts
66 → 93
Calls
66 calls:
Slowest
455.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))
447.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))
415.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))
392.0ms
(- (* 1 1) (* (pow (/ Om Omc) 2) (pow (/ Om Omc) 2)))
271.0ms
(- (pow 1 3) (pow (pow (/ Om Omc) 2) 3))

prune1.5s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 10.6b

localize44.0ms

Local error

Found 4 expressions with local error:

9.8b
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
9.8b
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
7.9b
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))
7.9b
(sqrt (/ 1 (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))

rewrite14.0ms

Algorithm
rewrite-expression-head
Rules
46×sqrt-prod
28×add-sqr-sqrt
20×add-cube-cbrt
20×times-frac
20×*-un-lft-identity
10×sqrt-div
rem-sqrt-square
add-log-exp
flip-+
associate-/r/
add-exp-log
pow1/2
add-cbrt-cube
flip3-+
pow1
div-inv
Counts
4 → 80
Calls
4 calls:
Slowest
7.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))
2.0ms
(sqrt (/ 1 (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))
1.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
1.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))

series399.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
182.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))
131.0ms
(sqrt (/ 1 (sqrt (+ 1 (* 2 (pow (/ t l) 2))))))
53.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
33.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))

simplify5.0s

Counts
60 → 92
Calls
60 calls:
Slowest
277.0ms
(/ (* (exp (* 1/4 (- (+ (* 2 (log (/ -1 t))) (log 1/2)) (* 2 (log (/ -1 l)))))) (* (sqrt -1) Om)) Omc)
244.0ms
(exp (* 1/4 (- (+ (* 2 (log (/ -1 t))) (log 1/2)) (* 2 (log (/ -1 l))))))
225.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (sqrt (+ (pow 1 3) (pow (* 2 (pow (/ t l) 2)) 3)))))
211.0ms
(sqrt (+ (pow 1 3) (pow (* 2 (pow (/ t l) 2)) 3)))
210.0ms
(/ (* (sqrt -1) (* (exp (* 1/4 (- (+ (log 1/2) (* 2 (log (/ 1 t)))) (* 2 (log (/ 1 l)))))) Om)) Omc)

prune1.9s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 10.6b

localize51.0ms

Local error

Found 4 expressions with local error:

15.6b
(cbrt (/ t l))
15.6b
(cbrt (/ t l))
9.8b
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))
0.5b
(pow (cbrt (/ t l)) 2)

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt
15×sqrt-prod
15×add-cube-cbrt
15×*-un-lft-identity
12×cbrt-prod
10×times-frac
unpow-prod-down
add-exp-log
pow1
add-log-exp
div-inv
add-cbrt-cube
pow1/3
associate-/r/
pow-pow
cbrt-div
rem-sqrt-square
unpow2
flip-+
pow-exp
sqrt-div
pow1/2
flip3-+
pow-to-exp
Counts
4 → 71
Calls
4 calls:
Slowest
6.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))
2.0ms
(pow (cbrt (/ t l)) 2)
1.0ms
(cbrt (/ t l))
1.0ms
(cbrt (/ t l))

series352.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
120.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))
86.0ms
(cbrt (/ t l))
74.0ms
(pow (cbrt (/ t l)) 2)
72.0ms
(cbrt (/ t l))

simplify5.1s

Counts
50 → 83
Calls
50 calls:
Slowest
604.0ms
(sqrt (/ (* (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (- 1 (pow (/ Om Omc) 2)))) (* (cbrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))) (cbrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))))
475.0ms
(/ (sqrt (- 1 (pow (/ Om Omc) 2))) (sqrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))
426.0ms
(sqrt (/ (sqrt (- 1 (pow (/ Om Omc) 2))) (sqrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2)))))))
394.0ms
(sqrt (/ (* (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (- 1 (pow (/ Om Omc) 2)))) (sqrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2)))))))
342.0ms
(sqrt (/ 1 (* (cbrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))) (cbrt (+ 1 (* 2 (* (* (/ t l) (cbrt (/ t l))) (pow (cbrt (/ t l)) 2))))))))

prune1.5s

Pruning

7 alts after pruning (4 fresh and 3 done)

Merged error: 10.6b

localize49.0ms

Local error

Found 4 expressions with local error:

33.2b
(cbrt (pow (/ t l) 2))
33.2b
(cbrt (pow (/ t l) 2))
33.2b
(cbrt (pow (/ t l) 2))
9.8b
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (cbrt (pow (/ t l) 2)) (cbrt (pow (/ t l) 2))) (cbrt (pow (/ t l) 2)))))))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
24×cbrt-prod
20×add-sqr-sqrt
17×add-cube-cbrt
17×*-un-lft-identity
15×sqrt-prod
12×unpow-prod-down
10×times-frac
add-log-exp
div-inv
add-exp-log
add-cbrt-cube
pow1
unpow2
pow1/3
associate-/r/
rem-sqrt-square
flip-+
sqrt-div
pow1/2
flip3-+
Counts
4 → 74
Calls
4 calls:
Slowest
6.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (cbrt (pow (/ t l) 2)) (cbrt (pow (/ t l) 2))) (cbrt (pow (/ t l) 2)))))))
2.0ms
(cbrt (pow (/ t l) 2))
1.0ms
(cbrt (pow (/ t l) 2))
1.0ms
(cbrt (pow (/ t l) 2))

series397.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
113.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (* (* (cbrt (pow (/ t l) 2)) (cbrt (pow (/ t l) 2))) (cbrt (pow (/ t l) 2)))))))
100.0ms
(cbrt (pow (/ t l) 2))
98.0ms
(cbrt (pow (/ t l) 2))
87.0ms
(cbrt (pow (/ t l) 2))

simplify4.2s

Counts
54 → 86
Calls
54 calls:
Slowest
391.0ms
(exp (* 1/3 (- (* 2 (log (/ -1 l))) (* 2 (log (/ -1 t))))))
375.0ms
(exp (* 1/3 (- (* 2 (log (/ -1 l))) (* 2 (log (/ -1 t))))))
360.0ms
(exp (* 1/3 (- (* 2 (log (/ -1 l))) (* 2 (log (/ -1 t))))))
247.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ (pow 1 3) (pow (* 2 (* (* (cbrt (pow (/ t l) 2)) (cbrt (pow (/ t l) 2))) (cbrt (pow (/ t l) 2)))) 3))))
230.0ms
(exp (* 1/3 (- (* 2 (log (/ 1 l))) (* 2 (log (/ 1 t))))))

prune1.6s

Pruning

7 alts after pruning (3 fresh and 4 done)

Merged error: 10.6b

regimes1.2s

Accuracy

0% (0.1b remaining)

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

bsearch3.0ms

end0.0ms

sample5.5s

Algorithm
intervals