Details

Time bar (total: 16.5s)

sample20.0ms

Algorithm
intervals
Results
5.0ms47×body1280valid
3.0ms139×body80valid
3.0ms35×body640valid
1.0ms22×body320valid
1.0ms13×body160valid

simplify23.0ms

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
0126
1166
2196
3216
4276
5396
6586
7796
81076
91606
102776
113036
123036

prune2.0ms

Filtered
1 candidates to 0 candidates (0.0%)
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022

Merged error: 27.6b

Counts
2 → 1

localize11.0ms

Local error

Found 3 expressions with local error:

0.0b
(/ x (+ x 1.0))
0.0b
(/ (+ x 1.0) (- x 1.0))
3.4b
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

rewrite111.0ms

Algorithm
rewrite-expression-head
Rules
981×*-un-lft-identity
736×times-frac
585×add-sqr-sqrt
468×prod-diff
419×add-cube-cbrt
189×distribute-lft-out
94×associate-/r/
90×distribute-lft-out--
81×difference-of-squares
47×div-inv
29×flip3-+ flip-+
20×flip3-- flip--
18×fma-neg
associate-/r*
add-exp-log add-cbrt-cube associate-/l*
add-log-exp
pow1 expm1-log1p-u log1p-expm1-u
cbrt-undiv frac-2neg div-exp clear-num associate-/l/
sub-neg diff-log frac-sub
Counts
3 → 596
Calls
3 calls:
5.0ms
(/ x (+ x 1.0))
7.0ms
(/ (+ x 1.0) (- x 1.0))
40.0ms
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

series214.0ms

Counts
3 → 9
Calls
3 calls:
37.0ms
(/ x (+ x 1.0))
38.0ms
(/ (+ x 1.0) (- x 1.0))
138.0ms
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

simplify213.0ms

Algorithm
egg-herbie
Counts
605 → 605
Iterations

Useful iterations: 2 (83.0ms)

IterNodesCost
0120818366
1368713388
2500113292

prune690.0ms

Filtered
605 candidates to 217 candidates (35.9%)
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New5996605
Fresh000
Picked101
Done000
Total6006606

Merged error: 0.2b

Counts
606 → 6

localize14.0ms

Local error

Found 4 expressions with local error:

0.1b
(pow (/ (+ x 1.0) (- x 1.0)) 3)
0.1b
(pow (/ x (+ x 1.0)) 3)
0.1b
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
3.4b
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

rewrite817.0ms

Algorithm
rewrite-expression-head
Rules
5207×*-un-lft-identity
3831×times-frac
3117×add-sqr-sqrt
2498×unpow-prod-down cube-prod
2436×prod-diff
2009×add-cube-cbrt
950×distribute-lft-out
609×distribute-lft-out--
524×difference-of-squares
412×associate-/r/
207×div-inv
163×sqr-pow
120×flip3-+ flip-+
103×cube-mult unpow3
88×flip3-- flip--
77×associate-/l*
42×fma-neg
12×add-exp-log add-cbrt-cube
pow1 cube-div pow-unpow add-log-exp
difference-cubes
expm1-log1p-u pow-exp log1p-expm1-u rem-cube-cbrt
cbrt-undiv div-exp associate-/r* associate-/l/
pow-to-exp pow-pow frac-sub
sub-neg frac-2neg diff-log div-sub clear-num
Counts
4 → 3028
Calls
4 calls:
10.0ms
(pow (/ (+ x 1.0) (- x 1.0)) 3)
7.0ms
(pow (/ x (+ x 1.0)) 3)
249.0ms
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
156.0ms
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

series1.0s

Counts
4 → 12
Calls
4 calls:
70.0ms
(pow (/ (+ x 1.0) (- x 1.0)) 3)
65.0ms
(pow (/ x (+ x 1.0)) 3)
569.0ms
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
324.0ms
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

simplify1.3s

Algorithm
egg-herbie
Counts
3040 → 3040
Iterations

Useful iterations: 1 (68.0ms)

IterNodesCost
02484116827
1500294047

prune1.7s

Filtered
3040 candidates to 370 candidates (12.2%)
Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New303643040
Fresh055
Picked101
Done000
Total303793046

Merged error: 0.1b

Counts
3046 → 9

localize18.0ms

Local error

Found 4 expressions with local error:

0.1b
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
0.1b
(cbrt (pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3))
0.1b
(pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3)
3.4b
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

rewrite1.3s

Algorithm
rewrite-expression-head
Rules
7679×*-un-lft-identity
5747×times-frac
4397×add-sqr-sqrt
3644×unpow-prod-down cube-prod
2436×prod-diff
2297×add-cube-cbrt
1318×distribute-lft-out
1237×distribute-lft-out--
948×difference-of-squares
476×cbrt-prod
404×associate-/r/
307×sqr-pow
207×div-inv
118×flip3-+ flip-+
103×cube-mult unpow3
86×flip3-- flip--
77×associate-/l*
42×fma-neg
17×difference-cubes
add-exp-log add-cbrt-cube
cube-div add-log-exp
pow1
expm1-log1p-u log1p-expm1-u
pow-unpow associate-/r* associate-/l/
cbrt-undiv div-exp pow-exp frac-sub rem-cube-cbrt
pow-to-exp sub-neg cbrt-div pow-pow frac-2neg pow1/3 diff-log div-sub clear-num rem-cbrt-cube
Counts
4 → 3876
Calls
4 calls:
258.0ms
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
149.0ms
(cbrt (pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3))
131.0ms
(pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3)
160.0ms
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

series2.1s

Counts
4 → 12
Calls
4 calls:
577.0ms
(/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0)))))
579.0ms
(cbrt (pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3))
598.0ms
(pow (/ (- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3)) (fma (/ (+ x 1.0) (- x 1.0)) (+ (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))) (* (/ x (+ x 1.0)) (/ x (+ x 1.0))))) 3)
322.0ms
(- (pow (/ x (+ x 1.0)) 3) (pow (/ (+ x 1.0) (- x 1.0)) 3))

simplify1.6s

Algorithm
egg-herbie
Counts
3888 → 3888
Iterations

Useful iterations: 1 (86.0ms)

IterNodesCost
03545163047
15003154800

prune2.7s

Filtered
3888 candidates to 501 candidates (12.9%)
Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New388623888
Fresh178
Picked011
Done000
Total3887103897

Merged error: 0.1b

Counts
3897 → 10

localize10.0ms

Local error

Found 4 expressions with local error:

0.0b
(/ (+ x 1.0) (- x 1.0))
0.0b
(log1p (expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))))
0.5b
(expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))
3.4b
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

rewrite114.0ms

Algorithm
rewrite-expression-head
Rules
965×*-un-lft-identity
724×times-frac
577×add-sqr-sqrt
468×prod-diff
411×add-cube-cbrt
185×distribute-lft-out
92×associate-/r/
90×distribute-lft-out--
81×difference-of-squares
46×div-inv
28×flip3-+ flip-+
20×flip3-- flip--
18×fma-neg
add-exp-log add-cbrt-cube add-log-exp
associate-/r* log1p-expm1-u
pow1 expm1-log1p-u associate-/l*
associate-/l/
cbrt-undiv sub-neg log1p-udef expm1-log1p frac-2neg diff-log log1p-expm1 div-exp clear-num frac-sub expm1-udef
Counts
4 → 583
Calls
4 calls:
8.0ms
(/ (+ x 1.0) (- x 1.0))
1.0ms
(log1p (expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))))
1.0ms
(expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))
45.0ms
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

series718.0ms

Counts
4 → 12
Calls
4 calls:
41.0ms
(/ (+ x 1.0) (- x 1.0))
316.0ms
(log1p (expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))))
221.0ms
(expm1 (- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0))))
139.0ms
(- (/ x (+ x 1.0)) (/ (+ x 1.0) (- x 1.0)))

simplify231.0ms

Algorithm
egg-herbie
Counts
595 → 595
Iterations

Useful iterations: 2 (91.0ms)

IterNodesCost
0122718437
1351913479
2500113375

prune951.0ms

Filtered
595 candidates to 221 candidates (37.1%)
Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New5941595
Fresh268
Picked101
Done011
Total5978605

Merged error: 0.1b

Counts
605 → 8

regimes58.0ms

Accuracy

99.7% (0.1b remaining)

Error of 0.2b against oracle of 0.1b and baseline of 29.3b

bsearch88.0ms

Steps
ItersRangePoint
6
14028.172733867412
57946.35045805707
14949.242297652785
10
-7888799.454350161
-0.0014566459989916651
-15417.922011129276

simplify2.0ms

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04435
14435

end0.0ms

sample524.0ms

Algorithm
intervals
Results
180.0ms1668×body1280valid
108.0ms1266×body640valid
92.0ms4110×body80valid
40.0ms638×body320valid
19.0ms318×body160valid

Profiling

Loading profile data...