Details

Time bar (total: 5.0s)

analyze174.0ms (3.5%)

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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
8.3%6.2%68.6%0.1%0%25%0%7
12.5%9.4%65.5%0.1%0%25%0%8
18.8%14%60.8%0.1%0%25%0%9
33.8%21.1%41.3%0.1%0%37.4%0%10
39.4%24.6%37.8%0.1%0%37.4%0%11
45.9%28.7%33.7%0.1%0%37.4%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample3.7s (74.4%)

Results
2.4s8256×body256valid
392.0ms2316×body256invalid
143.0ms555×body256infinite
Bogosity

preprocess4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02592
13792
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 z (sqrt.f64 y))))
Outputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 1/2 (+.f64 y (*.f64 x (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 1/2 (+.f64 z (*.f64 y (sqrt.f64 x))))
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 z (sqrt.f64 y))))
(*.f64 1/2 (+.f64 x (*.f64 z (sqrt.f64 y))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify11.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01423
11723
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
Outputs
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))

eval1.0ms (0%)

Compiler

Compiled 21 to 12 computations (42.9% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 11 to 8 computations (27.3% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 y (sqrt.f64 z))
Compiler

Compiled 27 to 9 computations (66.7% saved)

series3.0ms (0.1%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 y (sqrt.f64 z))
1.0ms
z
@-inf
(*.f64 y (sqrt.f64 z))
1.0ms
y
@0
(*.f64 y (sqrt.f64 z))
0.0ms
y
@inf
(*.f64 y (sqrt.f64 z))
0.0ms
z
@inf
(*.f64 y (sqrt.f64 z))

rewrite262.0ms (5.3%)

Algorithm
batch-egg-rewrite
Rules
2624×rational.json-simplify-2
2074×rational.json-simplify-35
1336×rational.json-1
1336×rational.json-2
1110×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14511
210011
320311
436011
579111
6189411
7326811
8425111
9548311
10606611
11606611
12694511
13694511
14774911
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 y (sqrt.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (sqrt.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (sqrt.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (sqrt.f64 z) 1/2)) (*.f64 y (*.f64 (sqrt.f64 z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (sqrt.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (sqrt.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (sqrt.f64 z) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 z) (*.f64 y 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 z) (*.f64 y 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (sqrt.f64 z)) 1)))))

simplify532.0ms (10.7%)

Algorithm
egg-herbie
Rules
3016×rational.json-simplify-2
2622×rational.json-simplify-35
2290×rational.json-simplify-53
988×exponential.json-simplify-26
980×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048165
1127165
2246165
3578165
42127165
54066165
64644165
74786165
84885165
94984165
105081165
116069165
126571165
136786165
146786165
156786165
166883165
176980165
187460165
197714165
Stop Event
node limit
Counts
15 → 16
Calls
Call 1
Inputs
(+.f64 (*.f64 y (sqrt.f64 z)) 0)
(+.f64 0 (*.f64 y (sqrt.f64 z)))
(+.f64 (*.f64 y (*.f64 (sqrt.f64 z) 1/2)) (*.f64 y (*.f64 (sqrt.f64 z) 1/2)))
(-.f64 (*.f64 y (sqrt.f64 z)) 0)
(/.f64 (*.f64 y (sqrt.f64 z)) 1)
(/.f64 (*.f64 y (*.f64 (sqrt.f64 z) 2)) 2)
(/.f64 (*.f64 (sqrt.f64 z) (*.f64 y 4)) 4)
(/.f64 (*.f64 (sqrt.f64 z) (*.f64 y 8)) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))))) 512)
(pow.f64 (*.f64 y (sqrt.f64 z)) 1)
Outputs
(+.f64 (*.f64 y (sqrt.f64 z)) 0)
(*.f64 y (sqrt.f64 z))
(+.f64 0 (*.f64 y (sqrt.f64 z)))
(*.f64 y (sqrt.f64 z))
(+.f64 (*.f64 y (*.f64 (sqrt.f64 z) 1/2)) (*.f64 y (*.f64 (sqrt.f64 z) 1/2)))
(*.f64 y (sqrt.f64 z))
(-.f64 (*.f64 y (sqrt.f64 z)) 0)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 y (sqrt.f64 z)) 1)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 y (*.f64 (sqrt.f64 z) 2)) 2)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 (sqrt.f64 z) (*.f64 y 4)) 4)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 (sqrt.f64 z) (*.f64 y 8)) 8)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))) 16)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))) 32)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))) 64)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))) 128)
(*.f64 y (sqrt.f64 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) 256)
(*.f64 y (sqrt.f64 z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 z) (*.f64 y 8)))))))) 512)
(*.f64 y (sqrt.f64 z))
(pow.f64 (*.f64 y (sqrt.f64 z)) 1)
(*.f64 y (sqrt.f64 z))

eval4.0ms (0.1%)

Compiler

Compiled 243 to 169 computations (30.5% saved)

prune224.0ms (4.5%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New16016
Fresh000
Picked011
Done000
Total16117
Error
0.1b
Counts
17 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
Compiler

Compiled 11 to 8 computations (27.3% saved)

regimes23.0ms (0.5%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0.0b (0%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
Outputs
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
Calls

7 calls:

4.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
3.0ms
x
3.0ms
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
3.0ms
(*.f64 y (sqrt.f64 z))
3.0ms
(sqrt.f64 z)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.1b1(+.f64 x (*.f64 y (sqrt.f64 z)))
0.1b1(*.f64 y (sqrt.f64 z))
0.1b1(sqrt.f64 z)
Compiler

Compiled 67 to 46 computations (31.3% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
Outputs
(*.f64 1/2 (+.f64 x (*.f64 y (sqrt.f64 z))))
Compiler

Compiled 11 to 8 computations (27.3% saved)

soundness9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01423
11723
Stop Event
saturated
Compiler

Compiled 21 to 12 computations (42.9% saved)

end13.0ms (0.3%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

Profiling

Loading profile data...