Average Error: 10.3 → 10.3
Time: 30.2s
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)\]
\[(e^{\log_* (1 + \sin^{-1} \left(\sqrt{\frac{1 - {\left(\frac{Om}{Omc}\right)}^{2}}{1 + 2 \cdot {\left(\frac{t}{\ell}\right)}^{2}}}\right))} - 1)^*\]

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. Using strategy rm
  3. Applied expm1-log1p-u10.3

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

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

Reproduce

herbie shell --seed 2019005 +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: 28.9s)Debug log

sample176.0ms

Algorithm
intervals

simplify220.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

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

prune13.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 10.4b

localize28.0ms

Local error

Found 4 expressions with local error:

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

rewrite7.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 (/ Om Omc) 2)
1.0ms
(pow (/ t l) 2)

series154.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

106.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))))))
15.0ms
(pow (/ t l) 2)
14.0ms
(pow (/ Om Omc) 2)

simplify2.4s

Counts
42 → 84
Calls

42 calls. Slowest were:

231.0ms
(sqrt (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
193.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (- (* 1 1) (* (* 2 (pow (/ t l) 2)) (* 2 (pow (/ t l) 2))))))
191.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))

prune1.3s

Pruning

7 alts after pruning (7 fresh and 0 done)

Merged error: 10.4b

localize14.0ms

Local error

Found 4 expressions with local error:

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

rewrite13.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

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

series160.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

117.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))
18.0ms
(pow (/ Om Omc) 2)
14.0ms
(pow (/ t l) 2)
11.0ms
(asin (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))

simplify2.5s

Counts
42 → 84
Calls

42 calls. Slowest were:

222.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ (pow 1 3) (pow (* 2 (pow (/ t l) 2)) 3))))
205.0ms
(sqrt (sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2))))))
191.0ms
(sqrt (/ (- 1 (pow (/ Om Omc) 2)) (+ 1 (* 2 (pow (/ t l) 2)))))

prune1.3s

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 10.4b

localize69.0ms

Local error

Found 4 expressions with local error:

15.4b
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
15.4b
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
1.9b
(sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
0.3b
(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))

series499.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

193.0ms
(sqrt (/ (cbrt (- 1 (pow (/ Om Omc) 2))) (cbrt (+ 1 (* 2 (pow (/ t l) 2))))))
148.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
132.0ms
(cbrt (+ 1 (* 2 (pow (/ t l) 2))))
26.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.2s

Counts
68 → 108
Calls

68 calls. Slowest were:

482.0ms
(exp (* 1/6 (- (+ (* 2 (log (/ 1 t))) (+ (* 2 (log (/ 1 Omc))) (log -1/2))) (+ (* 2 (log (/ 1 Om))) (* 2 (log (/ 1 l)))))))
410.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
356.0ms
(exp (* 1/6 (- (+ (* 2 (log (/ -1 t))) (+ (* 2 (log (/ -1 Omc))) (log -1/2))) (+ (* 2 (log (/ -1 l))) (* 2 (log (/ -1 Om)))))))

prune2.5s

Pruning

7 alts after pruning (5 fresh and 2 done)

Merged error: 10.4b

localize44.0ms

Local error

Found 4 expressions with local error:

15.4b
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
9.1b
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
9.1b
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
8.3b
(cbrt (sqrt (+ 1 (* 2 (pow (/ t l) 2)))))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 63
Calls

4 calls. Slowest were:

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

series270.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

104.0ms
(cbrt (fma (* (/ t l) (/ t l)) 2 1))
103.0ms
(cbrt (sqrt (+ 1 (* 2 (pow (/ t l) 2)))))
32.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))
31.0ms
(sqrt (+ 1 (* 2 (pow (/ t l) 2))))

simplify2.1s

Counts
35 → 75
Calls

35 calls. Slowest were:

246.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
245.0ms
(exp (* 1/6 (- (+ (log 2) (* 2 (log (/ -1 l)))) (* 2 (log (/ -1 t))))))
227.0ms
(exp (* 1/3 (- (+ (log 2) (* 2 (log (/ 1 l)))) (* 2 (log (/ 1 t))))))

prune1.8s

Pruning

6 alts after pruning (4 fresh and 2 done)

Merged error: 10.4b

regimes1.1s

Accuracy

0% (0.1b remaining)

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

bsearch2.0ms

end0.0ms

sample4.9s

Algorithm
intervals