Preprocessing
Found invariant 1 ≤ X₃ ∧ 1 ≤ X₀+X₃ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₀ for location h
Probabilistic Analysis
Probabilistic Program after Preprocessing
Start: f
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars:
Locations: f, g, h
Transitions:
g₁:f(X₀,X₁,X₂,X₃) -{0}> t₂:g(X₀,X₁,X₂,X₃) :|:
g₃:g(X₀,X₁,X₂,X₃) -{0}> t₄:h(0,X₂,X₂,X₃) :|: 1 ≤ X₃
g₅:h(X₀,X₁,X₂,X₃) → [1/4]:t₆:h(X₀,1+X₁,X₂,X₃) :+: [3/4]:t₇:h(X₀+UNIFORM(1, 3),1+X₁,X₂,X₃) :|: X₀ ≤ X₁ ∧ 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁
g₈:h(X₀,X₁,X₂,X₃) → t₉:g(X₀,X₁,X₂,X₃-1) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁
Show Graph
G
f
f
g
g
f->g
p = 1
t₂ ∈ g₁
{0}
h
h
g->h
p = 1
t₄ ∈ g₃
η (X₀) = 0
η (X₁) = X₂
τ = 1 ≤ X₃
{0}
h->g
p = 1
t₉ ∈ g₈
η (X₃) = X₃-1
τ = 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ 1+X₁ ≤ X₀
h->h
p = 1/4
t₆ ∈ g₅
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
h->h
p = 3/4
t₇ ∈ g₅
η (X₀) = X₀+UNIFORM(1, 3)
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
Run classical analysis on SCC: [f]
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₁: 1 {O(1)}
g₃: inf {Infinity}
g₅: inf {Infinity}
g₈: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₁: inf {Infinity}
g₃: inf {Infinity}
g₅: inf {Infinity}
g₈: inf {Infinity}
Sizebounds
(g₁,g), X₀: X₀ {O(n)}
(g₁,g), X₁: X₁ {O(n)}
(g₁,g), X₂: X₂ {O(n)}
(g₁,g), X₃: X₃ {O(n)}
Run probabilistic analysis on SCC: [f]
Run classical analysis on SCC: [g; h]
MPRF for transition t₄: g(X₀,X₁,X₂,X₃) -{0}> h(Temp_Int₉₁,X₂,X₂,X₃) :|: 1 ≤ X₃ ∧ Temp_Int₉₁ ≤ 0 ∧ 0 ≤ Temp_Int₉₁ ∧ 1 ≤ X₃ of depth 1:
new bound:
X₃ {O(n)}
MPRF:
• g: [X₃]
• h: [X₃-1]
Show Graph
G
f
f
g
g
f->g
t₂
{0}
h
h
g->h
t₄
η (X₀) = 0
η (X₁) = X₂
τ = 1 ≤ X₃
{0}
h->g
t₉
η (X₃) = X₃-1
τ = 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ 1+X₁ ≤ X₀
h->h
t₆
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
h->h
t₇
η (X₀) = Temp_Int₁
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ Temp_Int₁ ≤ Temp_Int₂+X₀ ∧ Temp_Int₂+X₀ ≤ Temp_Int₁ ∧ 1 ≤ Temp_Int₂ ∧ Temp_Int₂ ≤ 3 ∧ X₀ ≤ X₁
MPRF for transition t₉: h(X₀,X₁,X₂,X₃) → g(X₀,X₁,X₂,X₃-1) :|: 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ 1+X₁ ≤ X₀ of depth 1:
new bound:
X₃ {O(n)}
MPRF:
• g: [X₃]
• h: [X₃]
Show Graph
G
f
f
g
g
f->g
t₂
{0}
h
h
g->h
t₄
η (X₀) = 0
η (X₁) = X₂
τ = 1 ≤ X₃
{0}
h->g
t₉
η (X₃) = X₃-1
τ = 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ 1+X₁ ≤ X₀
h->h
t₆
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
h->h
t₇
η (X₀) = Temp_Int₁
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ Temp_Int₁ ≤ Temp_Int₂+X₀ ∧ Temp_Int₂+X₀ ≤ Temp_Int₁ ∧ 1 ≤ Temp_Int₂ ∧ Temp_Int₂ ≤ 3 ∧ X₀ ≤ X₁
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₁: 1 {O(1)}
g₃: X₃ {O(n)}
g₅: inf {Infinity}
g₈: X₃ {O(n)}
Costbounds
Overall costbound: inf {Infinity}
g₁: inf {Infinity}
g₃: inf {Infinity}
g₅: inf {Infinity}
g₈: inf {Infinity}
Sizebounds
(g₁,g), X₀: X₀ {O(n)}
(g₁,g), X₁: X₁ {O(n)}
(g₁,g), X₂: X₂ {O(n)}
(g₁,g), X₃: X₃ {O(n)}
(g₃,h), X₀: 0 {O(1)}
(g₃,h), X₁: 2⋅X₂ {O(n)}
(g₃,h), X₂: X₂ {O(n)}
(g₃,h), X₃: X₃ {O(n)}
(g₅,h), X₂: 2⋅X₂ {O(n)}
(g₅,h), X₃: 2⋅X₃ {O(n)}
(g₈,g), X₂: X₂ {O(n)}
(g₈,g), X₃: X₃ {O(n)}
Run probabilistic analysis on SCC: [g; h]
Plrf for transition g₅:h(X₀,X₁,X₂,X₃) → [1/4]:t₆:h(X₀,1+X₁,X₂,X₃) :+: [3/4]:t₇:h(X₀+UNIFORM(1, 3),1+X₁,X₂,X₃) :|: X₀ ≤ X₁ ∧ 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁:
new bound:
4⋅X₂⋅X₃+4⋅X₃⋅X₃ {O(n^2)}
PLRF:
• h: 2⋅X₁+4⋅X₃-2⋅X₀
Show Graph
G
f
f
g
g
f->g
p = 1
t₂ ∈ g₁
{0}
h
h
g->h
p = 1
t₄ ∈ g₃
η (X₀) = 0
η (X₁) = X₂
τ = 1 ≤ X₃
{0}
h->g
p = 1
t₉ ∈ g₈
η (X₃) = X₃-1
τ = 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ 1+X₁ ≤ X₀
h->h
p = 1/4
t₆ ∈ g₅
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
h->h
p = 3/4
t₇ ∈ g₅
η (X₀) = X₀+UNIFORM(1, 3)
η (X₁) = 1+X₁
τ = 0 ≤ 1 ∧ 1 ≤ X₀+X₃ ∧ 1 ≤ X₃ ∧ 0 ≤ X₀ ∧ X₂ ≤ X₁ ∧ X₀ ≤ X₁
Use expected size bounds for entry point (g₃:g→[t₄:1:h],h)
Use expected size bounds for entry point (g₃:g→[t₄:1:h],h)
Use expected size bounds for entry point (g₃:g→[t₄:1:h],h)
Use classical time bound for entry point (g₃:g→[t₄:1:h],h)
Results of Probabilistic Analysis
All Bounds
Timebounds
Overall timebound:4⋅X₂⋅X₃+4⋅X₃⋅X₃+2⋅X₃+1 {O(n^2)}
g₁: 1 {O(1)}
g₃: X₃ {O(n)}
g₅: 4⋅X₂⋅X₃+4⋅X₃⋅X₃ {O(n^2)}
g₈: X₃ {O(n)}
Costbounds
Overall costbound: 8⋅X₂⋅X₃+8⋅X₃⋅X₃+X₃ {O(n^2)}
g₁: 0 {O(1)}
g₃: 0 {O(1)}
g₅: 8⋅X₂⋅X₃+8⋅X₃⋅X₃ {O(n^2)}
g₈: X₃ {O(n)}
Sizebounds
(g₁,g), X₀: X₀ {O(n)}
(g₁,g), X₁: X₁ {O(n)}
(g₁,g), X₂: X₂ {O(n)}
(g₁,g), X₃: X₃ {O(n)}
(g₃,h), X₀: 0 {O(1)}
(g₃,h), X₁: 2⋅X₂ {O(n)}
(g₃,h), X₂: X₂ {O(n)}
(g₃,h), X₃: X₃ {O(n)}
(g₅,h), X₀: 6⋅X₂⋅X₃+6⋅X₃⋅X₃+X₀ {O(n^2)}
(g₅,h), X₂: X₂ {O(n)}
(g₅,h), X₃: X₃ {O(n)}
(g₈,g), X₀: 6⋅X₂⋅X₃+6⋅X₃⋅X₃+X₀ {O(n^2)}
(g₈,g), X₂: X₂ {O(n)}
(g₈,g), X₃: X₃ {O(n)}