Average Error: 10.0 → 10.0
Time: 42.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 - {\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.0

    \[\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.0

    \[\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 2019002 +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: 40.6s)Debug log

sample218.0ms

Algorithm
intervals

simplify577.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

577.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.1b

localize43.0ms

Local error

Found 4 expressions with local error:

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

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

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

series207.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

153.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
19.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
18.0ms
(pow (/ t l) 2)
17.0ms
(pow (/ Om Omc) 2)

simplify2.4s

Counts
42 → 84
Calls

42 calls. Slowest were:

263.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
185.0ms
(sqrt (* (cbrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))) (cbrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))))
160.0ms
(asin (sqrt (/ (- 1 (/ (pow Om 2) (pow Omc 2))) (+ (* 2 (/ (pow t 2) (pow l 2))) 1))))

prune1.3s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 10.0b

localize50.0ms

Local error

Found 4 expressions with local error:

15.0b
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
15.0b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
2.2b
(sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
0.7b
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))))

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 96
Calls

4 calls. Slowest were:

8.0ms
(sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
2.0ms
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))))
1.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))

series483.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

196.0ms
(sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
130.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
122.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
36.0ms
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))))

simplify7.6s

Counts
68 → 108
Calls

68 calls. Slowest were:

645.0ms
(exp (* 1/6 (- (+ (* 2 (log (/ 1 t))) (+ (* 2 (log (/ 1 Omc))) (log -1/2))) (+ (* 2 (log (/ 1 Om))) (* 2 (log (/ 1 l)))))))
453.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
424.0ms
(exp (* 1/6 (- (+ (* 2 (log (/ -1 t))) (+ (* 2 (log (/ -1 Omc))) (log -1/2))) (+ (* 2 (log (/ -1 l))) (* 2 (log (/ -1 Om)))))))

prune2.6s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 10.0b

localize24.0ms

Local error

Found 4 expressions with local error:

15.0b
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
15.0b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
2.2b
(sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
0.7b
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (* (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) 1)) (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2)))))))))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 116
Calls

4 calls. Slowest were:

5.0ms
(sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
1.0ms
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (* (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) 1)) (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2)))))))))
1.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))

series613.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

295.0ms
(sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
151.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
147.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
20.0ms
(asin (* (fabs (/ (cbrt (- 1 (* (/ Om Omc) (/ Om Omc)))) (cbrt (fma (* (/ t l) (/ t l)) 2 1)))) (* (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) 1)) (sqrt (/ (cbrt (sqrt (- 1 (pow (/ Om Omc) 2)))) (cbrt (+ 1 (* 2 (pow (/ t l) 2)))))))))

simplify7.0s

Counts
88 → 128
Calls

88 calls. Slowest were:

350.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
327.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
223.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ 1 l)))) (* 2 (log (/ 1 t))))))

prune3.3s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 10.0b

localize55.0ms

Local error

Found 4 expressions with local error:

15.0b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
15.0b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
15.0b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
15.0b
(cbrt (fma (* (/ t l) (/ t l)) 2 1))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

1.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
1.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
1.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))

series526.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

141.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
133.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
130.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
122.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))

simplify4.4s

Counts
30 → 70
Calls

30 calls. Slowest were:

690.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
415.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
403.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))

prune2.3s

Pruning

6 alts after pruning (3 fresh and 3 done)

Merged error: 10.0b

regimes1.3s

Accuracy

0% (0.0b remaining)

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

bsearch2.0ms

end0.0ms

sample5.6s

Algorithm
intervals