Preprocessing
Found invariant X₃ ≤ X₂ ∧ 0 ≤ X₂ ∧ 0 ≤ 1+X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ 0 ≤ 1+X₁ ∧ 0 ≤ 1+X₀+X₁ ∧ 0 ≤ X₀ for location h
Found invariant 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₀ for location g
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(0,1,0,X₃) :|:
g₂:g(X₀,X₁,X₂,X₃) -{0}> t₃:g(X₁,X₀+X₁,1+X₂,X₃) :|: 1+X₂ ≤ X₃ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₂
g₄:g(X₀,X₁,X₂,X₃) -{0}> t₅:h(X₀,X₁,X₂,X₃) :|: X₃ ≤ X₂ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₂
g₆:h(X₀,X₁,X₂,X₃) → [1/2]:t₇:h(X₀,X₁-2,X₂,X₃) :+: [1/2]:t₈:h(X₀,1+X₁,X₂,X₃) :|: 1 ≤ X₁ ∧ 0 ≤ 1+X₀+X₁ ∧ 0 ≤ 1+X₁ ∧ 0 ≤ 1+X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ 0 ≤ 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₄: 1 {O(1)}
g₆: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₆: inf {Infinity}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₀,g), X₁: 1 {O(1)}
(g₀,g), X₂: 0 {O(1)}
(g₀,g), X₃: X₃ {O(n)}
Run probabilistic analysis on SCC: [f]
Run classical analysis on SCC: [g]
MPRF for transition t₃: g(X₀,X₁,X₂,X₃) -{0}> g(X₁,X₀+X₁,1+X₂,X₃) :|: 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₂ ∧ 1+X₂ ≤ X₃ of depth 1:
new bound:
X₃ {O(n)}
MPRF:
• g: [X₃-X₂]
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: X₃ {O(n)}
g₄: 1 {O(1)}
g₆: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₆: inf {Infinity}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₀,g), X₁: 1 {O(1)}
(g₀,g), X₂: 0 {O(1)}
(g₀,g), X₃: X₃ {O(n)}
(g₂,g), X₀: 2^(X₃)+1 {O(EXP)}
(g₂,g), X₁: 2^(X₃) {O(EXP)}
(g₂,g), X₂: X₃ {O(n)}
(g₂,g), X₃: X₃ {O(n)}
(g₄,h), X₀: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₁: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₂: X₃ {O(n)}
(g₄,h), X₃: 2⋅X₃ {O(n)}
Run probabilistic analysis on SCC: [g]
Run classical analysis on SCC: [h]
Classical Approximation after Lifting Classical Results
All Bounds
Timebounds
Overall timebound:inf {Infinity}
g₀: 1 {O(1)}
g₂: X₃ {O(n)}
g₄: 1 {O(1)}
g₆: inf {Infinity}
Costbounds
Overall costbound: inf {Infinity}
g₀: inf {Infinity}
g₂: inf {Infinity}
g₄: inf {Infinity}
g₆: inf {Infinity}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₀,g), X₁: 1 {O(1)}
(g₀,g), X₂: 0 {O(1)}
(g₀,g), X₃: X₃ {O(n)}
(g₂,g), X₀: 2^(X₃)+1 {O(EXP)}
(g₂,g), X₁: 2^(X₃) {O(EXP)}
(g₂,g), X₂: X₃ {O(n)}
(g₂,g), X₃: X₃ {O(n)}
(g₄,h), X₀: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₁: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₂: X₃ {O(n)}
(g₄,h), X₃: 2⋅X₃ {O(n)}
(g₆,h), X₀: 2⋅2^(X₃)+2 {O(EXP)}
(g₆,h), X₂: 2⋅X₃ {O(n)}
(g₆,h), X₃: 4⋅X₃ {O(n)}
Run probabilistic analysis on SCC: [h]
Plrf for transition g₆:h(X₀,X₁,X₂,X₃) → [1/2]:t₇:h(X₀,X₁-2,X₂,X₃) :+: [1/2]:t₈:h(X₀,1+X₁,X₂,X₃) :|: 1 ≤ X₁ ∧ 0 ≤ 1+X₀+X₁ ∧ 0 ≤ 1+X₁ ∧ 0 ≤ 1+X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ 0 ≤ X₂ ∧ X₃ ≤ X₂:
new bound:
2⋅2^(X₃)+4 {O(EXP)}
PLRF:
• h: 2+2⋅X₁
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:2⋅2^(X₃)+X₃+6 {O(EXP)}
g₀: 1 {O(1)}
g₂: X₃ {O(n)}
g₄: 1 {O(1)}
g₆: 2⋅2^(X₃)+4 {O(EXP)}
Costbounds
Overall costbound: 2^(X₃)⋅4+8 {O(EXP)}
g₀: 0 {O(1)}
g₂: 0 {O(1)}
g₄: 0 {O(1)}
g₆: 2^(X₃)⋅4+8 {O(EXP)}
Sizebounds
(g₀,g), X₀: 0 {O(1)}
(g₀,g), X₁: 1 {O(1)}
(g₀,g), X₂: 0 {O(1)}
(g₀,g), X₃: X₃ {O(n)}
(g₂,g), X₀: 2^(X₃)+1 {O(EXP)}
(g₂,g), X₁: 2^(X₃) {O(EXP)}
(g₂,g), X₂: X₃ {O(n)}
(g₂,g), X₃: X₃ {O(n)}
(g₄,h), X₀: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₁: 2^(X₃)+1 {O(EXP)}
(g₄,h), X₂: X₃ {O(n)}
(g₄,h), X₃: 2⋅X₃ {O(n)}
(g₆,h), X₀: 2^(X₃)+1 {O(EXP)}
(g₆,h), X₁: 2⋅2^(X₃)+3 {O(EXP)}
(g₆,h), X₂: X₃ {O(n)}
(g₆,h), X₃: 4⋅X₃ {O(n)}