Details

Time bar (total: 4.7s)

analyze138.0ms (2.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
53.3%50%43.7%0.1%6.2%0%0%7
63.3%59.3%34.3%0.1%6.2%0%0%8
74.1%67.1%23.4%0.1%9.4%0%0%9
80.2%72.6%18%0.1%9.4%0%0%10
86.4%76.9%12.1%0.1%10.9%0%0%11
89.7%79.8%9.2%0.1%10.9%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample3.3s (70.4%)

Results
3.3s8256×body256valid
10.0ms132×body256infinite
Bogosity

preprocess6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
11326
21626
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 x (+.f64 y 1))
(*.f64 y (+.f64 x 1))
Outputs
(*.f64 x (+.f64 y 1))
(*.f64 y (+.f64 x 1))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1913
21113
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 x (+.f64 y 1))
Outputs
(*.f64 x (+.f64 y 1))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 x (+.f64 y 1))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite197.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
1672×rational.json-simplify-1
1502×rational.json-simplify-35
1372×exponential.json-3
1372×rational.json-1
1372×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15613
213013
324113
444113
593813
6238013
7416413
8523713
9676413
10759913
11759913
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 x (+.f64 y 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 y 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 y 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (+.f64 y 1) 1/2)) (*.f64 x (*.f64 (+.f64 y 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 y 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 y 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 2 (+.f64 y y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 y 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 y 1) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 y 1)) 1)))))

simplify907.0ms (19.1%)

Algorithm
egg-herbie
Rules
3226×rational.json-simplify-2
2896×rational.json-simplify-35
1710×rational.json-simplify-53
1068×rational.json-simplify-1
874×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049470
1131470
2246470
3521470
41839470
53590470
64156470
74347470
84534470
94672470
104790470
115737470
126702470
136805470
146845470
156857470
166876470
176884470
186908470
197013470
207116470
217219470
227322470
237735470
Stop Event
node limit
Counts
38 → 20
Calls
Call 1
Inputs
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
(*.f64 (+.f64 1 y) x)
x
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 y x) x)
(+.f64 (*.f64 x (+.f64 y 1)) 0)
(+.f64 0 (*.f64 x (+.f64 y 1)))
(+.f64 (*.f64 x (*.f64 (+.f64 y 1) 1/2)) (*.f64 x (*.f64 (+.f64 y 1) 1/2)))
(-.f64 (*.f64 x (+.f64 y 1)) 0)
(/.f64 (*.f64 x (+.f64 y 1)) 1)
(/.f64 (*.f64 x (+.f64 2 (+.f64 y y))) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 y 1) 4)) 4)
(/.f64 (*.f64 x (*.f64 (+.f64 y 1) 8)) 8)
(/.f64 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))))) 256)
(pow.f64 (*.f64 x (+.f64 y 1)) 1)
Outputs
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
(*.f64 (+.f64 1 y) x)
(*.f64 x (+.f64 1 y))
x
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 y x) x)
(+.f64 x (*.f64 y x))
(+.f64 (*.f64 x (+.f64 y 1)) 0)
(*.f64 x (+.f64 1 y))
(+.f64 0 (*.f64 x (+.f64 y 1)))
(*.f64 x (+.f64 1 y))
(+.f64 (*.f64 x (*.f64 (+.f64 y 1) 1/2)) (*.f64 x (*.f64 (+.f64 y 1) 1/2)))
(*.f64 x (+.f64 1 y))
(-.f64 (*.f64 x (+.f64 y 1)) 0)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 x (+.f64 y 1)) 1)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 x (+.f64 2 (+.f64 y y))) 2)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 x (*.f64 (+.f64 y 1) 4)) 4)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 x (*.f64 (+.f64 y 1) 8)) 8)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))) 16)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))) 32)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))) 64)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8)))))) 128)
(*.f64 x (+.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (+.f64 y 1) 8))))))) 256)
(*.f64 x (+.f64 1 y))
(pow.f64 (*.f64 x (+.f64 y 1)) 1)
(*.f64 x (+.f64 1 y))

eval4.0ms (0.1%)

Compiler

Compiled 178 to 132 computations (25.8% saved)

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New17320
Fresh000
Picked101
Done000
Total18321
Error
0b
Counts
21 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 y x) x)
36.5b
(*.f64 y x)
26.2b
x
Compiler

Compiled 15 to 9 computations (40% saved)

localize3.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

localize4.0ms (0.1%)

Compiler

Compiled 12 to 4 computations (66.7% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 y x) x)
36.5b
(*.f64 y x)
26.2b
x
Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 y x) x)
36.5b
(*.f64 y x)
26.2b
x
Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(+.f64 (*.f64 y x) x)
36.5b
(*.f64 y x)
26.2b
x
Compiler

Compiled 15 to 9 computations (40% saved)

regimes23.0ms (0.5%)

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

4 calls:

9.0ms
(+.f64 y 1)
5.0ms
x
4.0ms
(*.f64 x (+.f64 y 1))
4.0ms
y
Results
ErrorSegmentsBranch
0b1x
0b1y
0b1(*.f64 x (+.f64 y 1))
0b1(+.f64 y 1)
Compiler

Compiled 34 to 20 computations (41.2% saved)

regimes16.0ms (0.3%)

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

4 calls:

5.0ms
y
4.0ms
(*.f64 x (+.f64 y 1))
3.0ms
x
3.0ms
(+.f64 y 1)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(*.f64 x (+.f64 y 1))
0.0b1(+.f64 y 1)
Compiler

Compiled 29 to 19 computations (34.5% saved)

regimes25.0ms (0.5%)

Accuracy

Total -60.0b remaining (-4368.5%)

Threshold costs -60.0b (-4368.5%)

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

2 calls:

16.0ms
x
9.0ms
y
Results
ErrorSegmentsBranch
20.9b5x
1.4b3y
Compiler

Compiled 12 to 7 computations (41.7% saved)

bsearch25.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
0.012040259039216966
21.380291849054075
13.0ms
-3629.7583810947435
-0.0014842709281326415
Results
21.0ms272×body256valid
Compiler

Compiled 182 to 128 computations (29.7% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01760
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 y 1))
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 1) x (*.f64 y x)))
x
Outputs
(+.f64 (*.f64 y x) x)
(*.f64 x (+.f64 y 1))
(if (<=.f64 y -1) (*.f64 y x) (if (<=.f64 y 1) x (*.f64 y x)))
x
Compiler

Compiled 34 to 20 computations (41.2% saved)

soundness0.0ms (0%)

end24.0ms (0.5%)

Compiler

Compiled 28 to 13 computations (53.6% saved)

Profiling

Loading profile data...