Details

Time bar (total: 3.4s)

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
87.5%87.5%12.5%0%0%0%0%5
93.8%93.7%6.2%0%0%0%0%6
96.9%96.8%3.1%0%0%0%0%7
98.4%98.4%1.6%0%0%0%0%8
99.2%99.2%0.8%0%0%0%0%9
99.6%99.6%0.4%0%0%0%0%10
99.8%99.8%0.2%0%0%0%0%11
99.9%99.9%0.1%0%0%0%0%12
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample1.7s (51%)

Results
1.7s8256×body256valid
Bogosity

preprocess5.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
087
197
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(+.f64 x (/.f64 1 3))
Outputs
(+.f64 x (/.f64 1 3))
(+.f64 x 1/3)
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify8.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
087
197
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (/.f64 1 3))
Outputs
(+.f64 x (/.f64 1 3))
(+.f64 x 1/3)

eval0.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x 1/3)
Compiler

Compiled 4 to 3 computations (25% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x 1/3)
Compiler

Compiled 6 to 4 computations (33.3% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite243.0ms (7.1%)

Algorithm
batch-egg-rewrite
Rules
2644×rational.json-simplify-35
2380×rational.json-simplify-2
1438×rational.json-simplify-1
1180×exponential.json-3
1180×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1337
2787
31587
42887
56197
615147
730507
844737
952217
1062107
1168157
1268157
1378027
1478137
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(+.f64 x 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x 1/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x 2/3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x 1/3) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 1/3) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 1/3) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 1/3) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x 1/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x 1/3) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x 1/3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x 2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1/3) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x 1/3) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x 1/3) 1)))))

simplify694.0ms (20.3%)

Algorithm
egg-herbie
Rules
3884×rational.json-simplify-41
1784×rational.json-simplify-2
1760×rational.json-simplify-35
1752×rational.json-simplify-51
538×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060241
1132241
2395241
31309241
42390241
52896241
62964241
73010241
83045241
93079241
104043241
114118241
124154241
134188241
144218241
154248241
164768241
174803241
184838241
194868241
207647241
217694241
227748241
237792241
247828241
257862241
267893241
277923241
287953241
297983241
Stop Event
node limit
Counts
37 → 28
Calls
Call 1
Inputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
(-.f64 (+.f64 x 1/3) 0)
(*.f64 (+.f64 x 1/3) 1)
(*.f64 1 (+.f64 x 1/3))
(*.f64 2 (*.f64 (+.f64 x 1/3) 1/2))
(*.f64 (+.f64 x (+.f64 x 2/3)) 1/2)
(*.f64 4 (*.f64 (+.f64 x 1/3) 1/4))
(*.f64 (*.f64 (+.f64 x 1/3) 4) 1/4)
(*.f64 (*.f64 (+.f64 x 1/3) 8) 1/8)
(*.f64 1/2 (+.f64 x (+.f64 x 2/3)))
(*.f64 (*.f64 (+.f64 x 1/3) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x 1/3) 4))
(*.f64 (*.f64 (+.f64 x 1/3) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 x 1/3) 8))
(/.f64 (+.f64 x 1/3) 1)
(/.f64 (+.f64 x (+.f64 x 2/3)) 2)
(/.f64 (*.f64 (+.f64 x 1/3) 4) 4)
(/.f64 (*.f64 (+.f64 x 1/3) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) 512)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))))) 1024)
(pow.f64 (+.f64 x 1/3) 1)
Outputs
1/3
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
x
(+.f64 1/3 x)
(+.f64 1/3 x)
(+.f64 1/3 x)
(-.f64 (+.f64 x 1/3) 0)
(+.f64 1/3 x)
(*.f64 (+.f64 x 1/3) 1)
(+.f64 1/3 x)
(*.f64 1 (+.f64 x 1/3))
(+.f64 1/3 x)
(*.f64 2 (*.f64 (+.f64 x 1/3) 1/2))
(+.f64 1/3 x)
(*.f64 (+.f64 x (+.f64 x 2/3)) 1/2)
(+.f64 1/3 x)
(*.f64 4 (*.f64 (+.f64 x 1/3) 1/4))
(+.f64 1/3 x)
(*.f64 (*.f64 (+.f64 x 1/3) 4) 1/4)
(+.f64 1/3 x)
(*.f64 (*.f64 (+.f64 x 1/3) 8) 1/8)
(+.f64 1/3 x)
(*.f64 1/2 (+.f64 x (+.f64 x 2/3)))
(+.f64 1/3 x)
(*.f64 (*.f64 (+.f64 x 1/3) 1/2) 2)
(+.f64 1/3 x)
(*.f64 1/4 (*.f64 (+.f64 x 1/3) 4))
(+.f64 1/3 x)
(*.f64 (*.f64 (+.f64 x 1/3) 1/4) 4)
(+.f64 1/3 x)
(*.f64 1/8 (*.f64 (+.f64 x 1/3) 8))
(+.f64 1/3 x)
(/.f64 (+.f64 x 1/3) 1)
(+.f64 1/3 x)
(/.f64 (+.f64 x (+.f64 x 2/3)) 2)
(+.f64 1/3 x)
(/.f64 (*.f64 (+.f64 x 1/3) 4) 4)
(+.f64 1/3 x)
(/.f64 (*.f64 (+.f64 x 1/3) 8) 8)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)) 16)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))) 32)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))) 64)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))) 128)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))) 256)
(+.f64 1/3 x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) 512)
(+.f64 1/3 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x 1/3) 8)))))))) 1024)
(+.f64 1/3 x)
(pow.f64 (+.f64 x 1/3) 1)
(+.f64 1/3 x)

eval5.0ms (0.2%)

Compiler

Compiled 243 to 212 computations (12.8% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New26228
Fresh000
Picked011
Done000
Total26329
Error
0.0b
Counts
29 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x 1/3)
31.5b
x
31.4b
1/3
Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done011
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x 1/3)
31.5b
x
31.4b
1/3
Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune606.0ms (17.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done011
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x 1/3)
31.5b
x
31.4b
1/3
Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done011
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 x 1/3)
31.5b
x
31.4b
1/3
Compiler

Compiled 8 to 6 computations (25% saved)

regimes7.0ms (0.2%)

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

2 calls:

4.0ms
x
3.0ms
(+.f64 x (/.f64 1 3))
Results
ErrorSegmentsBranch
0.0b1x
0.0b1(+.f64 x (/.f64 1 3))
Compiler

Compiled 19 to 14 computations (26.3% saved)

regimes8.0ms (0.2%)

Accuracy

Total -60.5b remaining (-5153.1%)

Threshold costs -60.5b (-5153.1%)

Counts
2 → 3
Calls
Call 1
Inputs
1/3
x
Outputs
x
1/3
x
Calls

1 calls:

8.0ms
x
Results
ErrorSegmentsBranch
1.2b3x
Compiler

Compiled 5 to 3 computations (40% saved)

bsearch55.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
5.229602093183105e-12
61.7844957726838
41.0ms
-113.70884216752158
-1.349907089731422e-13
Results
51.0ms320×body256valid
Compiler

Compiled 130 to 108 computations (16.9% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01429
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 x 1/3)
(if (<=.f64 x -5944751508129055/18014398509481984) x (if (<=.f64 x 6124895493223875/18014398509481984) 1/3 x))
1/3
Outputs
(+.f64 x 1/3)
(if (<=.f64 x -5944751508129055/18014398509481984) x (if (<=.f64 x 6124895493223875/18014398509481984) 1/3 x))
1/3
Compiler

Compiled 18 to 13 computations (27.8% saved)

soundness11.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
087
197
Stop Event
saturated
Compiler

Compiled 9 to 7 computations (22.2% saved)

end20.0ms (0.6%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

Profiling

Loading profile data...