Preprocessing

Found invariant 0 ≤ 2+X₀ for location h

Found invariant 0 ≤ 2+X₂ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ for location i

Probabilistic Analysis

Probabilistic Program after Preprocessing

Start: f
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: f, g, h, i
Transitions:
g₀:f(X₀,X₁,X₂) -{0}> t₁:g(X₀,X₁,X₂) :|:
g₂:g(X₀,X₁,X₂) -{0}> [1/3]:t₃:h(X₀-3,X₁,X₂) :+: [1/3]:t₄:h(X₀-2,X₁,X₂) :+: [1/3]:t₅:h(X₀-1,X₁,X₂) :|: 1 ≤ X₀
g₆:h(X₀,X₁,X₂) -{0}> t₇:i(X₁,X₁,X₀) :|: 0 ≤ 2+X₀
g₈:i(X₀,X₁,X₂) → t₉:g(X₀,X₂,X₂) :|: 0 ≤ 2+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)}

Run probabilistic analysis on SCC: [f]

Run classical analysis on SCC: [g; h; i]

MPRF for transition t₇: h(X₀,X₁,X₂) -{0}> i(X₁,X₁,X₀) :|: 0 ≤ 2+X₀ of depth 2:

new bound:

16⋅X₀+8⋅X₁+17 {O(n)}

MPRF:

• g: [2+X₀+X₁; X₀]
• h: [3+X₀+X₁; 0]
• i: [2+X₁+X₂; 2+X₁+X₂]

MPRF for transition t₉: i(X₀,X₁,X₂) → g(X₀,X₂,X₂) :|: 0 ≤ 2+X₂ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ of depth 2:

new bound:

16⋅X₀+8⋅X₁+1 {O(n)}

MPRF:

• g: [1+X₀+X₁; X₀-1]
• h: [2+X₀+X₁; 0]
• i: [2+X₁+X₂; 0]

knowledge_propagation leads to new time bound 16⋅X₀+8⋅X₁+2 {O(n)} for transition t₃: g(X₀,X₁,X₂) -{0}> h(X₀-3,X₁,X₂) :|: 1 ≤ X₀

knowledge_propagation leads to new time bound 16⋅X₀+8⋅X₁+2 {O(n)} for transition t₄: g(X₀,X₁,X₂) -{0}> h(X₀-2,X₁,X₂) :|: 1 ≤ X₀

knowledge_propagation leads to new time bound 16⋅X₀+8⋅X₁+2 {O(n)} for transition t₅: g(X₀,X₁,X₂) -{0}> h(X₀-1,X₁,X₂) :|: 1 ≤ X₀

Classical Approximation after Lifting Classical Results

All Bounds
Timebounds

Overall timebound:40⋅X₁+80⋅X₀+25 {O(n)}
g₀: 1 {O(1)}
g₂: 24⋅X₁+48⋅X₀+6 {O(n)}
g₆: 16⋅X₀+8⋅X₁+17 {O(n)}
g₈: 16⋅X₀+8⋅X₁+1 {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₂,h), X₀: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₂,h), X₁: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₂,h), X₂: 27⋅X₁+3⋅X₂+51⋅X₀+6 {O(n)}
(g₆,i), X₀: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₆,i), X₁: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₆,i), X₂: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₀: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₁: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₂: 17⋅X₀+9⋅X₁+2 {O(n)}

Run probabilistic analysis on SCC: [g; h; i]

Results of Probabilistic Analysis

All Bounds

Timebounds

Overall timebound:40⋅X₁+80⋅X₀+25 {O(n)}
g₀: 1 {O(1)}
g₂: 24⋅X₁+48⋅X₀+6 {O(n)}
g₆: 16⋅X₀+8⋅X₁+17 {O(n)}
g₈: 16⋅X₀+8⋅X₁+1 {O(n)}

Costbounds

Overall costbound: 16⋅X₀+8⋅X₁+1 {O(n)}
g₀: 0 {O(1)}
g₂: 0 {O(1)}
g₆: 0 {O(1)}
g₈: 16⋅X₀+8⋅X₁+1 {O(n)}

Sizebounds

(g₀,g), X₀: X₀ {O(n)}
(g₀,g), X₁: X₁ {O(n)}
(g₀,g), X₂: X₂ {O(n)}
(g₂,h), X₀: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₂,h), X₁: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₂,h), X₂: 27⋅X₁+3⋅X₂+51⋅X₀+6 {O(n)}
(g₆,i), X₀: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₆,i), X₁: 27⋅X₁+51⋅X₀+6 {O(n)}
(g₆,i), X₂: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₀: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₁: 17⋅X₀+9⋅X₁+2 {O(n)}
(g₈,g), X₂: 17⋅X₀+9⋅X₁+2 {O(n)}