Details

Time bar (total: 4.7s)

analyze47.0ms (1%)

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)

sample925.0ms (19.5%)

Results
898.0ms8256×body256valid
15.0ms174×body256infinite
Bogosity

preprocess4.0ms (0.1%)

Algorithm
egg-herbie
Rules
14×rational.json-simplify-2
rational.json-simplify-43
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
11326
21726
31926
022
122
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(*.f64 (*.f64 x 27) y)
(*.f64 (*.f64 y 27) x)
Outputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))
(*.f64 (*.f64 y 27) x)
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))
Symmetry

(sort x y)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-2
rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1913
21313
31713
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 x 27) y)
Outputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
0.2b
(*.f64 x (*.f64 27 y))
Compiler

Compiled 14 to 10 computations (28.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 27 y))
Compiler

Compiled 13 to 8 computations (38.5% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 x (*.f64 27 y))
1.0ms
x
@inf
(*.f64 x (*.f64 27 y))
1.0ms
x
@0
(*.f64 x (*.f64 27 y))
0.0ms
y
@inf
(*.f64 x (*.f64 27 y))
0.0ms
y
@-inf
(*.f64 x (*.f64 27 y))

rewrite233.0ms (4.9%)

Algorithm
batch-egg-rewrite
Rules
2294×rational.json-simplify-35
1344×exponential.json-3
1344×rational.json-1
1344×rational.json-2
1344×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14813
211413
323913
443313
598913
6220513
7383713
8479813
9573013
10654513
11654513
12654513
13734813
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 x (*.f64 27 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x y) 108) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 216 (*.f64 x y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))))

simplify868.0ms (18.3%)

Algorithm
egg-herbie
Rules
5942×rational.json-simplify-35
1914×rational.json-simplify-2
970×rational.json-simplify-1
638×rational.json-simplify-41
608×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052507
1131507
2280507
3711507
42026507
53468507
64178507
74577507
84822507
95029507
105029507
115226507
125264507
135312507
145559507
155824507
166059507
176301507
186505507
196690507
206873507
216873507
227056507
237239507
247422507
257605507
267788507
277971507
Stop Event
node limit
Counts
39 → 17
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(+.f64 0 (*.f64 x (*.f64 27 y)))
(+.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2)))
(-.f64 (*.f64 x (*.f64 27 y)) 0)
(/.f64 (*.f64 x (*.f64 27 y)) 1)
(/.f64 (*.f64 x (*.f64 y 54)) 2)
(/.f64 (*.f64 (*.f64 x y) 108) 4)
(/.f64 (*.f64 216 (*.f64 x y)) 8)
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
Outputs
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 0 (*.f64 x (*.f64 27 y)))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2)))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(-.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 x (*.f64 y 54)) 2)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 (*.f64 x y) 108) 4)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 216 (*.f64 x y)) 8)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
Compiler

Compiled 13 to 8 computations (38.5% saved)

series0.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite227.0ms (4.8%)

Algorithm
batch-egg-rewrite
Rules
2270×rational.json-simplify-35
1334×exponential.json-3
1334×rational.json-1
1334×rational.json-2
1334×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
210313
322313
440913
594813
6211813
7369513
8464013
9557613
10640913
11640913
12640913
13721913
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (*.f64 x 27) y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 108)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 216 (*.f64 x y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1)))))

simplify1.0s (21.1%)

Algorithm
egg-herbie
Rules
4648×rational.json-simplify-35
2578×rational.json-simplify-2
924×rational.json-simplify-53
874×rational.json-simplify-1
702×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052507
1137507
2287507
3741507
42071507
53558507
64367507
74693507
84907507
95098507
105098507
115409507
125480507
135526507
145771507
156095507
166385507
176577507
186756507
196935507
207114507
217150507
227260507
237398507
247428507
257442507
267442507
277442507
287621507
297800507
Stop Event
node limit
Counts
39 → 17
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(*.f64 27 (*.f64 y x))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(+.f64 0 (*.f64 x (*.f64 27 y)))
(+.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2))
(-.f64 (*.f64 x (*.f64 27 y)) 0)
(/.f64 (*.f64 x (*.f64 27 y)) 1)
(/.f64 (*.f64 x (*.f64 y 54)) 2)
(/.f64 (*.f64 x (*.f64 y 108)) 4)
(/.f64 (*.f64 216 (*.f64 x y)) 8)
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
Outputs
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 0 (*.f64 x (*.f64 27 y)))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(+.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2))
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(-.f64 (*.f64 x (*.f64 27 y)) 0)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 x (*.f64 y 54)) 2)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 x (*.f64 y 108)) 4)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 216 (*.f64 x y)) 8)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))
(pow.f64 (*.f64 x (*.f64 27 y)) 1)
(*.f64 27 (*.f64 y x))
(*.f64 y (*.f64 27 x))

eval129.0ms (2.7%)

Compiler

Compiled 338 to 246 computations (27.2% saved)

prune4.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New33134
Fresh000
Picked011
Done011
Total33336
Error
0.0b
Counts
36 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
0.2b
(*.f64 x (*.f64 27 y))
0.3b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 21 to 15 computations (28.6% saved)

localize127.0ms (2.7%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

6 calls:

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

rewrite263.0ms (5.5%)

Algorithm
batch-egg-rewrite
Rules
2680×rational.json-simplify-2
2256×rational.json-simplify-35
1300×rational.json-1
1116×rational.json-simplify-1
1040×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14813
211413
323913
443313
598313
6218013
7373013
8461713
9553113
10631613
11631613
12714413
13714413
14793013
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 27 (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 27 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 27 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 27 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 27 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 108)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 (*.f64 y x)) 1)))))

simplify745.0ms (15.7%)

Algorithm
egg-herbie
Rules
4860×rational.json-simplify-35
2196×rational.json-simplify-2
990×exponential.json-simplify-26
894×rational.json-simplify-1
620×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049195
1127195
2261195
3621195
41831195
53593195
64354195
74767195
85048195
95261195
105443195
116261195
126264195
136264195
146264195
156440195
166616195
176792195
186968195
197144195
207323195
217499195
227499195
237675195
247851195
Stop Event
node limit
Counts
15 → 16
Calls
Call 1
Inputs
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(+.f64 0 (*.f64 27 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2)))
(-.f64 (*.f64 27 (*.f64 y x)) 0)
(/.f64 (*.f64 27 (*.f64 y x)) 1)
(/.f64 (*.f64 y (*.f64 x 54)) 2)
(/.f64 (*.f64 y (*.f64 x 108)) 4)
(/.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512)
(pow.f64 (*.f64 27 (*.f64 y x)) 1)
Outputs
(+.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(+.f64 0 (*.f64 27 (*.f64 y x)))
(*.f64 27 (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2)))
(*.f64 27 (*.f64 y x))
(-.f64 (*.f64 27 (*.f64 y x)) 0)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 27 (*.f64 y x)) 1)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x 54)) 2)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x 108)) 4)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128)
(*.f64 27 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256)
(*.f64 27 (*.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512)
(*.f64 27 (*.f64 y x))
(pow.f64 (*.f64 27 (*.f64 y x)) 1)
(*.f64 27 (*.f64 y x))

eval4.0ms (0.1%)

Compiler

Compiled 188 to 147 computations (21.8% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New16016
Fresh000
Picked011
Done022
Total16319
Error
0.0b
Counts
19 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (*.f64 x 27) y)
0.2b
(*.f64 x (*.f64 27 y))
0.3b
(*.f64 27 (*.f64 y x))
Compiler

Compiled 21 to 15 computations (28.6% saved)

regimes60.0ms (1.3%)

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

4 calls:

4.0ms
y
4.0ms
(*.f64 x 27)
3.0ms
x
3.0ms
(*.f64 (*.f64 x 27) y)
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
0.2b1(*.f64 (*.f64 x 27) y)
0.2b1(*.f64 x 27)
Compiler

Compiled 35 to 24 computations (31.4% saved)

regimes7.0ms (0.1%)

Accuracy

Total -0.2b remaining (-112.5%)

Threshold costs -0.2b (-112.5%)

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

2 calls:

3.0ms
y
3.0ms
x
Results
ErrorSegmentsBranch
0.2b1x
0.2b1y
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01139
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))
(*.f64 27 (*.f64 y x))
Outputs
(*.f64 (*.f64 x 27) y)
(*.f64 x (*.f64 27 y))
(*.f64 27 (*.f64 y x))
Compiler

Compiled 21 to 15 computations (28.6% saved)

soundness0.0ms (0%)

end70.0ms (1.5%)

Compiler

Compiled 31 to 21 computations (32.3% saved)

Profiling

Loading profile data...