Details

Time bar (total: 6.0s)

analyze3.0ms (0%)

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)

sample4.7s (78.3%)

Results
4.6s8256×body256valid
Bogosity

preprocess9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
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)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
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)

eval1.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)

localize2.0ms (0%)

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 → 3
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)

rewrite275.0ms (4.6%)

Algorithm
batch-egg-rewrite
Rules
1662×rational.json-simplify-35
1394×bool.json-1
1394×bool.json-2
1350×rational.json-1
1350×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
1507
21527
33237
46427
513407
631107
758007
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(-.f64 x 1/3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1/3 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -1/3) 1/2) (*.f64 (+.f64 x -1/3) 1/2))))) (#(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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x -1/3) (+.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x -1/3) (+.f64 x -1/3))))))

simplify826.0ms (13.8%)

Algorithm
egg-herbie
Rules
5436×rational.json-simplify-1
4450×rational.json-simplify-41
1658×rational.json-simplify-35
1388×rational.json-simplify-2
1328×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056203
1108203
2336203
3946203
41662203
52019203
62068203
72106203
82137203
92168203
102950203
112984203
123014203
133044203
143071203
153098203
163545203
173574203
183603203
193630203
206708203
216749203
226833203
237105203
247212203
257240203
267267203
277294203
287321203
297348203
307375203
317402203
327429203
337456203
347483203
357510203
Stop Event
node limit
Counts
29 → 28
Calls
Call 1
Inputs
-1/3
x
x
(+.f64 x -1/3)
(+.f64 (+.f64 x -1/3) 0)
(+.f64 0 (+.f64 x -1/3))
(+.f64 -1/3 x)
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) 1/3))
(+.f64 (*.f64 (+.f64 x -1/3) 1/2) (*.f64 (+.f64 x -1/3) 1/2))
(*.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8))))) 128)
Outputs
-1/3
x
x
(+.f64 x -1/3)
(+.f64 -1/3 x)
(+.f64 (+.f64 x -1/3) 0)
(+.f64 -1/3 x)
(+.f64 0 (+.f64 x -1/3))
(+.f64 -1/3 x)
(+.f64 -1/3 x)
(+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) 1/3))
(+.f64 (*.f64 (+.f64 x -1/3) 1/2) (*.f64 (+.f64 x -1/3) 1/2))
(+.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 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -1/3) 8))))) 128)
(+.f64 -1/3 x)

eval5.0ms (0.1%)

Compiler

Compiled 203 to 170 computations (16.3% saved)

prune58.0ms (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.1b
x
31.9b
-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.1b
x
31.9b
-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.1b
x
31.9b
-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.1b
x
31.9b
-1/3
Compiler

Compiled 8 to 6 computations (25% saved)

regimes9.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:

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

Compiled 19 to 14 computations (26.3% saved)

regimes9.0ms (0.2%)

Accuracy

Total -60.8b remaining (-5611.3%)

Threshold costs -60.8b (-5611.3%)

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

1 calls:

9.0ms
x
Results
ErrorSegmentsBranch
1.1b3x
Compiler

Compiled 5 to 3 computations (40% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
0.034083242380540064
8.603486561744598
14.0ms
-3.8991291440419467
-4.1489912418280465e-13
Results
21.0ms272×body256valid
Compiler

Compiled 112 to 93 computations (17% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 18 to 13 computations (27.8% saved)

soundness9.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
Stop Event
saturated
Compiler

Compiled 9 to 7 computations (22.2% saved)

end56.0ms (0.9%)

Compiler

Compiled 16 to 11 computations (31.3% saved)

Profiling

Loading profile data...