Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₁: l1(X₀, X₁, X₂) → l1(X₀+1, X₂, X₂) :|: X₀+1 ≤ X₁

Preprocessing

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₁: l1(X₀, X₁, X₂) → l1(X₀+1, X₂, X₂) :|: X₀+1 ≤ X₁

Analysing control-flow refined program

Found invariant X₂ ≤ X₁ ∧ X₁ ≤ X₂ for location n_l1___1

MPRF for transition t₁₅: n_l1___1(X₀, X₁, X₂) → n_l1___1(X₀+1, X₂, X₂) :|: X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₂ ≤ X₁ ∧ X₁ ≤ X₂ of depth 1:

new bound:

X₀+X₂+1 {O(n)}

MPRF:

n_l1___1 [X₂-X₀ ]

CFR: Improvement to new bound with the following program:

new bound:

X₀+X₂+1 {O(n)}

cfr-program:

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, n_l1___1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₁₆: l1(X₀, X₁, X₂) → n_l1___1(X₀+1, X₂, X₂) :|: 1+X₀ ≤ X₁
t₁₅: n_l1___1(X₀, X₁, X₂) → n_l1___1(X₀+1, X₂, X₂) :|: X₁ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₂ ≤ X₁ ∧ X₁ ≤ X₂

All Bounds

Timebounds

Overall timebound:X₀+X₂+3 {O(n)}
t₀: 1 {O(1)}
t₁₆: 1 {O(1)}
t₁₅: X₀+X₂+1 {O(n)}

Costbounds

Overall costbound: X₀+X₂+3 {O(n)}
t₀: 1 {O(1)}
t₁₆: 1 {O(1)}
t₁₅: X₀+X₂+1 {O(n)}

Sizebounds

t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₁₆, X₀: X₀+1 {O(n)}
t₁₆, X₁: X₂ {O(n)}
t₁₆, X₂: X₂ {O(n)}
t₁₅, X₀: 2⋅X₀+X₂+2 {O(n)}
t₁₅, X₁: X₂ {O(n)}
t₁₅, X₂: X₂ {O(n)}