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
66.7%50%25%0%25%0%0%4
83.3%62.5%12.5%0%25%0%0%5
91.7%68.7%6.2%0%25%0%0%6
95.8%71.8%3.1%0%25%0%0%7
97.9%73.4%1.6%0%25%0%0%8
99%74.2%0.8%0%25%0%0%9
99.5%74.6%0.4%0%25%0%0%10
99.7%74.8%0.2%0%25%0%0%11
99.9%74.9%0.1%0%25%0%0%12
Compiler

Compiled 7 to 5 computations (28.6% saved)

sample1.2s (41.4%)

Results
1.2s8256×body256valid
0.0msbody256infinite
Bogosity

preprocess3.0ms (0.1%)

Algorithm
egg-herbie
Rules
rational.json-simplify-16
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
1913
21013
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 x (-.f64 x 1))
Outputs
(*.f64 x (-.f64 x 1))
(*.f64 x (+.f64 x -1))
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify9.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational.json-simplify-16
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
1913
21013
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 x (-.f64 x 1))
Outputs
(*.f64 x (-.f64 x 1))
(*.f64 x (+.f64 x -1))

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 6 to 4 computations (33.3% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 11 to 7 computations (36.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite93.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1480×bool.json-1
1480×bool.json-2
1438×rational.json-1
1438×rational.json-2
1438×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
17013
222813
344713
486613
5186613
6376713
7625613
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 x (-.f64 x 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 x (*.f64 (+.f64 x -1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -1) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 x -1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 x -1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (+.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (+.f64 x -1)) (*.f64 x (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (+.f64 x -1)) (*.f64 x (+.f64 x -1)))))))

simplify928.0ms (31.8%)

Algorithm
egg-herbie
Rules
4420×rational.json-simplify-35
2580×rational.json-simplify-2
1078×rational.json-simplify-53
1026×rational.json-simplify-1
790×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
039335
192315
2183315
3437315
41930315
53671315
64527315
74924315
85153315
95394315
105622315
115991315
125993315
136073315
146215315
156275315
166503315
176747315
186937315
197120315
207292315
217463315
227631315
237631315
247725315
257725315
267893315
Stop Event
node limit
Counts
23 → 17
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 x (+.f64 x -1)) 0)
(+.f64 0 (*.f64 x (+.f64 x -1)))
(+.f64 (*.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 x (*.f64 (+.f64 x -1) 1/2)))
(-.f64 (*.f64 x (+.f64 x -1)) 0)
(/.f64 (*.f64 x (+.f64 x -1)) 1)
(/.f64 (*.f64 (+.f64 x -1) (+.f64 x x)) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 x -1) 4)) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 x -1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)))) 64)
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (neg.f64 x) (pow.f64 x 2))
(+.f64 (*.f64 x (+.f64 x -1)) 0)
(*.f64 x (+.f64 -1 x))
(+.f64 0 (*.f64 x (+.f64 x -1)))
(*.f64 x (+.f64 -1 x))
(+.f64 (*.f64 x (*.f64 (+.f64 x -1) 1/2)) (*.f64 x (*.f64 (+.f64 x -1) 1/2)))
(*.f64 x (+.f64 -1 x))
(-.f64 (*.f64 x (+.f64 x -1)) 0)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 x (+.f64 x -1)) 1)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 (+.f64 x -1) (+.f64 x x)) 2)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 x (*.f64 (+.f64 x -1) 4)) 4)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 (*.f64 x (+.f64 x -1)) 8) 8)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)) 16)
(*.f64 x (+.f64 -1 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) 32)
(*.f64 x (+.f64 -1 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 x -1)) 8)))) 64)
(*.f64 x (+.f64 -1 x))

eval4.0ms (0.1%)

Compiler

Compiled 146 to 109 computations (25.3% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New15217
Fresh000
Picked011
Done000
Total15318
Error
0.0b
Counts
18 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (neg.f64 x) (pow.f64 x 2))
0.0b
(*.f64 x (-.f64 x 1))
19.2b
(neg.f64 x)
Compiler

Compiled 16 to 11 computations (31.3% saved)

localize2.0ms (0.1%)

Compiler

Compiled 4 to 2 computations (50% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (neg.f64 x) (pow.f64 x 2))
Compiler

Compiled 14 to 8 computations (42.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(+.f64 (neg.f64 x) (pow.f64 x 2))
0.0ms
x
@0
(+.f64 (neg.f64 x) (pow.f64 x 2))
0.0ms
x
@inf
(+.f64 (neg.f64 x) (pow.f64 x 2))

rewrite105.0ms (3.6%)

Algorithm
batch-egg-rewrite
Rules
2004×bool.json-1
1368×rational.json-simplify-35
1308×bool.json-2
1254×rational.json-1
1254×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
18217
222917
347417
4102317
5235217
6493817
7771017
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (neg.f64 x) (pow.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x 2) (-.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 x -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (neg.f64 x) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x -2) (*.f64 2 (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (neg.f64 x) (pow.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (neg.f64 x) (pow.f64 x 2)) (+.f64 (neg.f64 x) (pow.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (neg.f64 x) (pow.f64 x 2)) (+.f64 (neg.f64 x) (pow.f64 x 2)))))))

simplify510.0ms (17.5%)

Algorithm
egg-herbie
Rules
3200×rational.json-simplify-48
2992×rational.json-simplify-1
1720×rational.json-simplify-2
1290×rational.json-simplify-35
1196×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063619
1120619
2293619
3722619
41180619
52860619
63236619
73321619
83385619
93443619
103492619
114191619
124294619
134523619
145138619
155229619
165260619
175291619
185322619
196164619
207090619
217665619
227718619
237753619
247787619
Stop Event
node limit
Counts
35 → 28
Calls
Call 1
Inputs
(*.f64 -1 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(-.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 0)
(-.f64 (+.f64 (pow.f64 x 2) (-.f64 1 x)) 1)
(*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 x -1/2)))
(*.f64 2 (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)
(*.f64 1 (+.f64 (neg.f64 x) (pow.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 1/2)
(*.f64 4 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))
(*.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x -2)))
(*.f64 1/2 (+.f64 (*.f64 x -2) (*.f64 2 (pow.f64 x 2))))
(*.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))
(*.f64 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)
(/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)
(/.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 2)
(/.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)
(/.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)))) 64)
Outputs
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(pow.f64 x 2)
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(+.f64 (*.f64 -1 x) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(-.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 0)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(-.f64 (+.f64 (pow.f64 x 2) (-.f64 1 x)) 1)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 x -1/2)))
(*.f64 2 (+.f64 (*.f64 x -1/2) (*.f64 (pow.f64 x 2) 1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 x 2) 1/2) (*.f64 x -1/2)))
(*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 1 (+.f64 (neg.f64 x) (pow.f64 x 2)))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 1/2)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 4 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 1/4)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 1/2 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x -2)))
(*.f64 1/2 (+.f64 (*.f64 x -2) (*.f64 2 (pow.f64 x 2))))
(*.f64 1/2 (+.f64 (*.f64 2 (pow.f64 x 2)) (*.f64 x -2)))
(*.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1/2) 2)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 1/4 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4))
(+.f64 (pow.f64 x 2) (neg.f64 x))
(*.f64 (/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 1)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (*.f64 2 (+.f64 (neg.f64 x) (pow.f64 x 2))) 2)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 4) 4)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8) 8)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)) 16)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) 32)
(+.f64 (pow.f64 x 2) (neg.f64 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (neg.f64 x) (pow.f64 x 2)) 8)))) 64)
(+.f64 (pow.f64 x 2) (neg.f64 x))

eval7.0ms (0.2%)

Compiler

Compiled 270 to 195 computations (27.8% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New28028
Fresh000
Picked011
Done022
Total28331
Error
0.0b
Counts
31 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (neg.f64 x) (pow.f64 x 2))
0.0b
(*.f64 x (-.f64 x 1))
19.2b
(neg.f64 x)
Compiler

Compiled 16 to 11 computations (31.3% saved)

regimes8.0ms (0.3%)

Accuracy

Total -19.1b remaining (-122484.5%)

Threshold costs -19.1b (-122484.5%)

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

2 calls:

4.0ms
x
3.0ms
(*.f64 x (-.f64 x 1))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(*.f64 x (-.f64 x 1))
Compiler

Compiled 22 to 13 computations (40.9% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 x (-.f64 x 1))
(neg.f64 x)
Outputs
(*.f64 x (-.f64 x 1))
(neg.f64 x)
Compiler

Compiled 9 to 6 computations (33.3% saved)

soundness0.0ms (0%)

end14.0ms (0.5%)

Compiler

Compiled 8 to 5 computations (37.5% saved)

Profiling

Loading profile data...