Details

Time bar (total: 983.0ms)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
100%25%0%75%0%0%0%1
Compiler

Compiled 17 to 9 computations (47.1% saved)

sample739.0ms (75.1%)

Results
727.0ms8256×body256valid
Bogosity

preprocess12.0ms (1.2%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-1
rational_best-simplify-22
rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
11219
21419
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Outputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 11 to 5 computations (54.5% saved)

simplify10.0ms (1%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-1
rational_best-simplify-22
rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
11219
21419
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Outputs
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
(*.f64 x (+.f64 x (*.f64 x x)))

eval0.0ms (0%)

Compiler

Compiled 17 to 6 computations (64.7% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
0.0b
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 18 to 8 computations (55.6% saved)

localize6.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 17 to 4 computations (76.5% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(*.f64 x (+.f64 x (*.f64 x x)))
0.0ms
x
@0
(*.f64 x (+.f64 x (*.f64 x x)))
0.0ms
x
@-inf
(*.f64 x (+.f64 x (*.f64 x x)))

rewrite25.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
92×rational_best-simplify-2
74×rational_best-simplify-44
62×rational_best-2
62×rational_best-3
62×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
14219
27519
39519
410719
512119
613319
714919
818019
922819
1031919
1134819
1235119
1335219
Stop Event
saturated
Counts
1 → 8
Calls
Call 1
Inputs
(*.f64 x (+.f64 x (*.f64 x x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 x (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))))))

simplify21.0ms (2.1%)

Algorithm
egg-herbie
Rules
46×rational_best-simplify-2
20×rational_best-simplify-44
16×rational_best-simplify-47
10×rational_best-simplify-10
10×rational_best-simplify-8
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
026356
137356
249356
371356
491344
5101344
6105344
Stop Event
saturated
Counts
20 → 15
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)
(+.f64 0 (*.f64 x (+.f64 x (*.f64 x x))))
(-.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)
(-.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))
(/.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)
(/.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)
(pow.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
Outputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)
(*.f64 x (+.f64 x (*.f64 x x)))
(+.f64 0 (*.f64 x (+.f64 x (*.f64 x x))))
(*.f64 x (+.f64 x (*.f64 x x)))
(-.f64 (*.f64 x (+.f64 x (*.f64 x x))) 0)
(*.f64 x (+.f64 x (*.f64 x x)))
(-.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
(*.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))
(*.f64 x (*.f64 (neg.f64 x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(/.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)
(*.f64 x (+.f64 x (*.f64 x x)))
(/.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
(*.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))
(*.f64 x (*.f64 (neg.f64 x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(pow.f64 (*.f64 x (+.f64 x (*.f64 x x))) 1)
(*.f64 x (+.f64 x (*.f64 x x)))
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
(*.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))
(*.f64 x (*.f64 (neg.f64 x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))

localize5.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
0.1b
(*.f64 x (*.f64 x x))
Compiler

Compiled 19 to 4 computations (78.9% saved)

series1.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 x (*.f64 x x))
0.0ms
x
@0
(*.f64 x (*.f64 x x))
0.0ms
x
@inf
(*.f64 x (*.f64 x x))
0.0ms
x
@-inf
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
0.0ms
x
@inf
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))

rewrite30.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
116×rational_best-simplify-2
90×rational_best-simplify-44
70×rational_best-2
70×rational_best-3
70×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0632
14432
28532
310732
411932
513232
614432
716132
819932
928132
1036532
1140332
1240732
1340832
Stop Event
saturated
Counts
2 → 26
Calls
Call 1
Inputs
(*.f64 x (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 x (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (*.f64 x (neg.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (*.f64 x x) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (+.f64 x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (*.f64 x (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 x 1)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (neg.f64 x)) (-.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (*.f64 x x) (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 x (-.f64 -1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 x) (*.f64 x (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)))))))

simplify37.0ms (3.7%)

Algorithm
egg-herbie
Rules
174×rational_best-simplify-2
152×rational_best-simplify-44
50×rational_best-simplify-47
28×rational_best-simplify-49
24×rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048722
175722
2121722
3159722
4245722
5301722
6338722
7356722
8364722
9366722
Stop Event
saturated
Counts
50 → 31
Calls
Call 1
Inputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (*.f64 x (*.f64 x x)) 0)
(+.f64 0 (*.f64 x (*.f64 x x)))
(-.f64 (*.f64 x (*.f64 x x)) 0)
(-.f64 0 (*.f64 x (*.f64 x (neg.f64 x))))
(/.f64 (*.f64 x (*.f64 x x)) 1)
(/.f64 (*.f64 x (*.f64 x (neg.f64 x))) -1)
(pow.f64 (*.f64 x (*.f64 x x)) 1)
(neg.f64 (*.f64 x (*.f64 x (neg.f64 x))))
(-.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(-.f64 0 (*.f64 (*.f64 x x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x x) (+.f64 x 1))
(*.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 1 (*.f64 x (*.f64 x (+.f64 x 1))))
(*.f64 (*.f64 x (+.f64 x 1)) x)
(*.f64 (*.f64 x (neg.f64 x)) (-.f64 -1 x))
(*.f64 -1 (*.f64 (*.f64 x x) (-.f64 -1 x)))
(*.f64 (neg.f64 x) (*.f64 x (-.f64 -1 x)))
(*.f64 (-.f64 -1 x) (*.f64 x (neg.f64 x)))
(*.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)
(*.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))
(*.f64 (+.f64 x 1) (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(/.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)
(pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(neg.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)))
Outputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 3) (pow.f64 x 2))
(+.f64 (*.f64 x (*.f64 x x)) 0)
(*.f64 x (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x x)))
(*.f64 x (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x x)) 0)
(*.f64 x (*.f64 x x))
(-.f64 0 (*.f64 x (*.f64 x (neg.f64 x))))
(*.f64 x (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x x)) 1)
(*.f64 x (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x (neg.f64 x))) -1)
(*.f64 x (*.f64 x x))
(pow.f64 (*.f64 x (*.f64 x x)) 1)
(*.f64 x (*.f64 x x))
(neg.f64 (*.f64 x (*.f64 x (neg.f64 x))))
(*.f64 x (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(*.f64 x (*.f64 x (+.f64 x 1)))
(-.f64 0 (*.f64 (*.f64 x x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x x) (+.f64 x 1))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 1 (*.f64 x (*.f64 x (+.f64 x 1))))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x (+.f64 x 1)) x)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x (neg.f64 x)) (-.f64 -1 x))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 -1 (*.f64 (*.f64 x x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (neg.f64 x) (*.f64 x (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (-.f64 -1 x) (*.f64 x (neg.f64 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (*.f64 x (-.f64 -1 x)) (neg.f64 x))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(*.f64 x (*.f64 x (+.f64 x 1)))
(/.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(/.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)) -1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(neg.f64 (*.f64 (*.f64 x x) (-.f64 -1 x)))
(*.f64 x (*.f64 x (+.f64 x 1)))

eval6.0ms (0.6%)

Compiler

Compiled 387 to 177 computations (54.3% saved)

prune5.0ms (0.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New45146
Fresh000
Picked011
Done011
Total45348
Error
0.0b
Counts
48 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
0.0b
(*.f64 (+.f64 x 1) (*.f64 x x))
0.0b
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 26 to 13 computations (50% saved)

localize6.0ms (0.6%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x 1) (*.f64 x x))
Compiler

Compiled 16 to 8 computations (50% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(*.f64 (+.f64 x 1) (*.f64 x x))
0.0ms
x
@0
(*.f64 (+.f64 x 1) (*.f64 x x))
0.0ms
x
@inf
(*.f64 (+.f64 x 1) (*.f64 x x))

rewrite29.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
98×rational_best-simplify-2
62×rational_best-simplify-44
54×rational_best-2
54×rational_best-3
54×rational_best-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
14919
28419
310119
410619
511919
613119
714819
817919
921919
1028219
1131119
1231419
1331519
Stop Event
saturated
Counts
1 → 8
Calls
Call 1
Inputs
(*.f64 (+.f64 x 1) (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))))))

simplify17.0ms (1.8%)

Algorithm
egg-herbie
Rules
68×rational_best-simplify-2
34×rational_best-simplify-47
22×rational_best-simplify-44
16×rational_best-simplify-6
10×rational_best-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026344
137344
252344
379344
4104344
5112344
6133344
7139344
Stop Event
saturated
Counts
20 → 13
Calls
Call 1
Inputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(+.f64 0 (*.f64 x (*.f64 x (+.f64 x 1))))
(-.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(-.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))
(/.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(/.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)
(pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
Outputs
(pow.f64 x 2)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (pow.f64 x 2) (pow.f64 x 3))
(+.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(+.f64 0 (*.f64 x (*.f64 x (+.f64 x 1))))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(-.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 0)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(-.f64 0 (*.f64 x (*.f64 x (-.f64 -1 x))))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(/.f64 (*.f64 x (*.f64 x (-.f64 -1 x))) -1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(pow.f64 (*.f64 x (*.f64 x (+.f64 x 1))) 1)
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(neg.f64 (*.f64 x (*.f64 x (-.f64 -1 x))))
(*.f64 x (*.f64 x (+.f64 x 1)))
(*.f64 (+.f64 x 1) (*.f64 x x))

eval2.0ms (0.2%)

Compiler

Compiled 99 to 65 computations (34.3% saved)

prune2.0ms (0.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New13013
Fresh000
Picked011
Done022
Total13316
Error
0.0b
Counts
16 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
0.0b
(*.f64 (+.f64 x 1) (*.f64 x x))
0.0b
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 26 to 13 computations (50% saved)

regimes6.0ms (0.6%)

Accuracy

Total -0.0b remaining (-75%)

Threshold costs -0.0b (-75%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 x (+.f64 x (*.f64 x x)))
(*.f64 (+.f64 x 1) (*.f64 x x))
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Outputs
(*.f64 x (+.f64 x (*.f64 x x)))
Calls

2 calls:

3.0ms
x
3.0ms
(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(+.f64 (*.f64 x (*.f64 x x)) (*.f64 x x))
Compiler

Compiled 36 to 14 computations (61.1% saved)

simplify1.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 x (+.f64 x (*.f64 x x)))
Outputs
(*.f64 x (+.f64 x (*.f64 x x)))
Compiler

Compiled 8 to 4 computations (50% saved)

soundness10.0ms (1%)

Algorithm
egg-herbie
Rules
rational_best-simplify-2
rational_best-simplify-1
rational_best-simplify-22
rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
11219
21419
Stop Event
saturated
Compiler

Compiled 17 to 6 computations (64.7% saved)

end10.0ms (1.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

Profiling

Loading profile data...