Details

Time bar (total: 2.9s)

analyze3.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
75%75%25%0%0%0%0%4
85.7%75%12.5%0%12.5%0%0%5
92.3%75%6.2%0%18.7%0%0%6
96%75%3.1%0%21.9%0%0%7
98%75%1.6%0%23.4%0%0%8
99%75%0.8%0%24.2%0%0%9
99.5%75%0.4%0%24.6%0%0%10
99.7%75%0.2%0%24.8%0%0%11
99.9%75%0.1%0%24.9%0%0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample1.2s (40.2%)

Results
1.1s8256×body256valid
1.0msbody256infinite
Bogosity

preprocess87.0ms (3%)

Algorithm
egg-herbie
Rules
1822×rational.json-simplify-35
1348×rational.json-simplify-53
1002×rational.json-simplify-39
866×rational.json-simplify-59
808×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11419
22219
34619
420519
5201119
6600919
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Outputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
(/.f64 (+.f64 (*.f64 x x) -3) 6)
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify91.0ms (3.1%)

Algorithm
egg-herbie
Rules
1822×rational.json-simplify-35
1348×rational.json-simplify-53
1002×rational.json-simplify-39
866×rational.json-simplify-59
808×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11419
22219
34619
420519
5201119
6600919
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Outputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
(/.f64 (+.f64 (*.f64 x x) -3) 6)

eval1.0ms (0%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Compiler

Compiled 8 to 6 computations (25% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Compiler

Compiled 19 to 10 computations (47.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.0ms
x
@0
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.0ms
x
@-inf
(/.f64 (-.f64 (*.f64 x x) 3) 6)

rewrite66.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1424×rational.json-simplify-2
1322×rational.json-1
1322×rational.json-2
1322×rational.json-4
1322×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15619
213819
332719
4118819
5447619
Stop Event
node limit
Counts
1 → 24
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x x) -3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 x x) -3) 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) -3) 4) 1/24)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (+.f64 (*.f64 x x) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/12 (*.f64 (+.f64 (*.f64 x x) -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x x) -3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x x) -3) 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/24 (*.f64 (+.f64 (*.f64 x x) -3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)))))

simplify128.0ms (4.4%)

Algorithm
egg-herbie
Rules
1138×rational.json-simplify-2
1058×rational.json-simplify-59
1028×rational.json-simplify-19
910×rational.json-simplify-51
742×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053666
182666
2206666
3576666
41961666
54594666
66543666
77712666
Stop Event
node limit
Counts
36 → 27
Calls
Call 1
Inputs
-1/2
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(+.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(-.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(*.f64 1 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2) 1/12)
(*.f64 2 (/.f64 (+.f64 (*.f64 x x) -3) 12))
(*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2))
(*.f64 2 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 1/12))
(*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 4) 1/24)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1/12 (*.f64 (+.f64 (*.f64 x x) -3) 2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x x) -3) 1/3))
(*.f64 (/.f64 (+.f64 (*.f64 x x) -3) 12) 2)
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2) 2)
(*.f64 1/24 (*.f64 (+.f64 (*.f64 x x) -3) 4))
(*.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)) 2)
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/12) 2)
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2) 2)
(pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
Outputs
-1/2
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(+.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(+.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(-.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2) 1/12)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 2 (/.f64 (+.f64 (*.f64 x x) -3) 12))
(*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 2 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 1/12))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 1/2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 4) 1/24)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1/12 (*.f64 (+.f64 (*.f64 x x) -3) 2))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x x) -3) 1/3))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (/.f64 (+.f64 (*.f64 x x) -3) 12) 2)
(*.f64 2 (/.f64 (+.f64 (*.f64 x x) -3) 12))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 2) 2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 1/24 (*.f64 (+.f64 (*.f64 x x) -3) 4))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 1/6 (/.f64 (+.f64 (*.f64 x x) -3) 2)) 2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/12) 2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1/2) 2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))

eval5.0ms (0.2%)

Compiler

Compiled 238 to 165 computations (30.7% saved)

prune4.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New24327
Fresh000
Picked011
Done000
Total24428
Error
0.1b
Counts
28 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.2b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
0.2b
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
25.2b
-1/2
Compiler

Compiled 26 to 21 computations (19.2% saved)

localize7.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
Compiler

Compiled 19 to 10 computations (47.4% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite64.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1366×rational.json-simplify-2
1306×rational.json-1
1306×rational.json-2
1306×rational.json-4
1306×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15419
211919
328219
4109919
5434119
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)))))

simplify100.0ms (3.5%)

Algorithm
egg-herbie
Rules
1400×rational.json-simplify-53
1122×rational.json-simplify-2
970×rational.json-simplify-39
868×rational.json-simplify-59
784×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034369
171369
2126369
3285369
4779369
53669369
66779369
Stop Event
node limit
Counts
21 → 13
Calls
Call 1
Inputs
-1/2
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(+.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(+.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(-.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2/3) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3))) 16)
(pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
Outputs
-1/2
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
(+.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(+.f64 0 (*.f64 (+.f64 (*.f64 x x) -3) 1/6))
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(-.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 0)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/3) 2)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(/.f64 (*.f64 (+.f64 (*.f64 x x) -3) 2/3) 4)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) 8)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) -3) 2/3))) 16)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))
(pow.f64 (*.f64 (+.f64 (*.f64 x x) -3) 1/6) 1)
(*.f64 1/6 (+.f64 (*.f64 x x) -3))

localize11.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/6 (pow.f64 x 2))
Compiler

Compiled 20 to 16 computations (20% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(*.f64 1/6 (pow.f64 x 2))
0.0ms
x
@0
(*.f64 1/6 (pow.f64 x 2))
0.0ms
x
@-inf
(*.f64 1/6 (pow.f64 x 2))

rewrite384.0ms (13.3%)

Algorithm
batch-egg-rewrite
Rules
3346×rational.json-simplify-35
2346×rational.json-simplify-51
1830×rational.json-simplify-2
1158×rational.json-simplify-1
1076×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
29513
317913
431613
567713
6161413
7265313
8318113
9380213
10448013
11522013
12557913
13557913
14604513
15604513
16660313
17740213
18782013
19787913
Stop Event
node limit
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 1/6 (pow.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/6 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/6 (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2) 1/12) (*.f64 (pow.f64 x 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/6 (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/6 (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 4/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x 2) 8/3) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 8/3)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 4) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4)) 4096)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/6 (pow.f64 x 2)) 1)))))

simplify705.0ms (24.4%)

Algorithm
egg-herbie
Rules
6406×rational.json-simplify-43
4066×rational.json-simplify-35
1456×rational.json-simplify-2
1054×rational.json-simplify-1
706×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056234
1147234
2300234
3782234
42195234
53652234
64240234
74416234
84565234
94678234
104791234
114976234
125094234
135203234
145203234
155312234
165420234
175527234
185634234
195741234
205848234
215955234
226062234
236169234
246276234
256383234
266383234
Stop Event
node limit
Counts
18 → 19
Calls
Call 1
Inputs
(+.f64 (*.f64 1/6 (pow.f64 x 2)) 0)
(+.f64 0 (*.f64 1/6 (pow.f64 x 2)))
(+.f64 (*.f64 (pow.f64 x 2) 1/12) (*.f64 (pow.f64 x 2) 1/12))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 0)
(/.f64 (*.f64 1/6 (pow.f64 x 2)) 1)
(/.f64 (*.f64 (pow.f64 x 2) 1/3) 2)
(/.f64 (*.f64 (pow.f64 x 2) 2/3) 4)
(/.f64 (*.f64 (pow.f64 x 2) 4/3) 8)
(/.f64 (*.f64 (pow.f64 x 2) 8/3) 16)
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 8/3)) 32)
(/.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 64)
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 128)
(/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 256)
(/.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 512)
(/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 4) 1024)
(/.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4) 2048)
(/.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4)) 4096)
(pow.f64 (*.f64 1/6 (pow.f64 x 2)) 1)
Outputs
(+.f64 (*.f64 1/6 (pow.f64 x 2)) 0)
(*.f64 1/6 (pow.f64 x 2))
(+.f64 0 (*.f64 1/6 (pow.f64 x 2)))
(*.f64 1/6 (pow.f64 x 2))
(+.f64 (*.f64 (pow.f64 x 2) 1/12) (*.f64 (pow.f64 x 2) 1/12))
(*.f64 1/6 (pow.f64 x 2))
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 0)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 1/6 (pow.f64 x 2)) 1)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) 1/3) 2)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) 2/3) 4)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) 4/3) 8)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (pow.f64 x 2) 8/3) 16)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 2 (*.f64 (pow.f64 x 2) 8/3)) 32)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 64)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 128)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 256)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 512)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4) 4) 4) 1024)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4) 2048)
(*.f64 1/6 (pow.f64 x 2))
(/.f64 (*.f64 2 (*.f64 (*.f64 (*.f64 2 (*.f64 (*.f64 (pow.f64 x 2) 8/3) 4)) 4) 4)) 4096)
(*.f64 1/6 (pow.f64 x 2))
(pow.f64 (*.f64 1/6 (pow.f64 x 2)) 1)
(*.f64 1/6 (pow.f64 x 2))

eval9.0ms (0.3%)

Compiler

Compiled 331 to 277 computations (16.3% saved)

prune5.0ms (0.2%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New32032
Fresh011
Picked011
Done022
Total32436
Error
0.1b
Counts
36 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.2b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
0.2b
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
25.2b
-1/2
Compiler

Compiled 26 to 21 computations (19.2% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.1b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.2b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
0.2b
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
25.2b
-1/2
Compiler

Compiled 26 to 21 computations (19.2% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done033
Total044
Error
0.1b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.2b
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
0.2b
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
25.2b
-1/2
Compiler

Compiled 26 to 21 computations (19.2% saved)

regimes14.0ms (0.5%)

Counts
4 → 1
Calls
Call 1
Inputs
-1/2
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
(/.f64 (-.f64 (*.f64 x x) 3) 6)
(-.f64 (*.f64 1/6 (pow.f64 x 2)) 1/2)
Outputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Calls

4 calls:

4.0ms
(-.f64 (*.f64 x x) 3)
4.0ms
x
3.0ms
(*.f64 x x)
2.0ms
(/.f64 (-.f64 (*.f64 x x) 3) 6)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(/.f64 (-.f64 (*.f64 x x) 3) 6)
0.1b1(-.f64 (*.f64 x x) 3)
0.1b1(*.f64 x x)
Compiler

Compiled 43 to 30 computations (30.2% saved)

regimes7.0ms (0.2%)

Accuracy

Total -25.0b remaining (-15629.6%)

Threshold costs -25.0b (-15629.6%)

Counts
2 → 1
Calls
Call 1
Inputs
-1/2
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
Outputs
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
Calls

2 calls:

4.0ms
x
2.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1(*.f64 x x)
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01339
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
-1/2
Outputs
(/.f64 (-.f64 (*.f64 x x) 3) 6)
(*.f64 (+.f64 (*.f64 x x) -3) 1/6)
-1/2
Compiler

Compiled 18 to 14 computations (22.2% saved)

soundness0.0ms (0%)

end21.0ms (0.7%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

Profiling

Loading profile data...