Initial Problem

Start: l0
Program_Vars: X₀, X₁
Temp_Vars: C, D, E
Locations: l0, l1
Transitions:
t₂: l0(X₀, X₁) → l1(X₀, X₁)
t₀: l1(X₀, X₁) → l1(D, X₁) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₀+1 ≤ X₁ ∧ 2⋅C ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅C ∧ C+1 ≤ D ∧ 2⋅E ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅E ∧ D ≤ E+1
t₁: l1(X₀, X₁) → l1(X₀, D) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₀+1 ≤ X₁ ∧ 2⋅C ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅C ∧ C ≤ D ∧ 2⋅E ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅E ∧ D ≤ E

Preprocessing

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁
Temp_Vars: C, D, E
Locations: l0, l1
Transitions:
t₂: l0(X₀, X₁) → l1(X₀, X₁)
t₀: l1(X₀, X₁) → l1(D, X₁) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₀+1 ≤ X₁ ∧ 2⋅C ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅C ∧ C+1 ≤ D ∧ 2⋅E ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅E ∧ D ≤ E+1
t₁: l1(X₀, X₁) → l1(X₀, D) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₀+1 ≤ X₁ ∧ 2⋅C ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅C ∧ C ≤ D ∧ 2⋅E ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅E ∧ D ≤ E

MPRF for transition t₁: l1(X₀, X₁) → l1(X₀, D) :|: 0 ≤ X₀ ∧ 0 ≤ X₁ ∧ X₀+1 ≤ X₁ ∧ 2⋅C ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅C ∧ C ≤ D ∧ 2⋅E ≤ X₀+X₁ ∧ X₀+X₁+1 ≤ 3⋅E ∧ D ≤ E of depth 1:

new bound:

2⋅X₁+1 {O(n)}

MPRF:

l1 [2⋅X₁+1 ]

Analysing control-flow refined program

Found invariant 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l1___4

Found invariant 4 ≤ X₁ ∧ 8 ≤ X₀+X₁ ∧ 4 ≤ X₀ for location n_l1___2

Found invariant 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location n_l1___3

Found invariant 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l1___1

MPRF for transition t₃₁: n_l1___1(X₀, X₁) → n_l1___3(Arg0_P, Arg1_P) :|: 0 ≤ X₀ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2+2⋅X₀ ≤ 3⋅X₁ ∧ 1+Arg0_P ≤ X₁ ∧ 0 ≤ Arg0_P ∧ 2⋅Arg1_P ≤ X₁+Arg0_P ∧ 1+X₁+Arg0_P ≤ 3⋅Arg1_P ∧ X₀ ≤ Arg0_P ∧ Arg0_P ≤ X₀ ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:

new bound:

3⋅X₀+5⋅X₁+5 {O(n)}

MPRF:

n_l1___3 [4⋅X₁-3⋅X₀-4 ]
n_l1___1 [2⋅X₁-X₀-1 ]
n_l1___4 [X₁-1 ]
n_l1___2 [X₁-1 ]

MPRF for transition t₃₂: n_l1___1(X₀, X₁) → n_l1___4(Arg0_P, X₁) :|: 0 ≤ X₀ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2+2⋅X₀ ≤ 3⋅X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 2⋅Arg0_P ≤ 2+X₀+X₁ ∧ 4+X₀+X₁ ≤ 3⋅Arg0_P ∧ 2 ≤ X₁ ∧ 4 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:

new bound:

8⋅X₁+14 {O(n)}

MPRF:

n_l1___3 [4⋅X₁-5 ]
n_l1___1 [4⋅X₁-7 ]
n_l1___4 [4⋅X₁-9 ]
n_l1___2 [4⋅X₁-9 ]

MPRF for transition t₃₃: n_l1___2(X₀, X₁) → n_l1___1(Arg0_P, Arg1_P) :|: 0 ≤ X₀ ∧ 2 ≤ X₀+X₁ ∧ 4+X₁ ≤ 3⋅X₀ ∧ 2 ≤ X₀ ∧ 2⋅X₀ ≤ 1+2⋅X₁ ∧ 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2+2⋅X₀ ≤ 3⋅X₁ ∧ 1+Arg0_P ≤ X₁ ∧ 0 ≤ Arg0_P ∧ 2⋅Arg1_P ≤ X₁+Arg0_P ∧ 1+X₁+Arg0_P ≤ 3⋅Arg1_P ∧ X₀ ≤ Arg0_P ∧ Arg0_P ≤ X₀ ∧ 4 ≤ X₁ ∧ 8 ≤ X₀+X₁ ∧ 4 ≤ X₀ of depth 1:

new bound:

4⋅X₁+1 {O(n)}

MPRF:

n_l1___3 [2⋅X₁ ]
n_l1___1 [4⋅X₁-2⋅X₀-3 ]
n_l1___4 [2⋅X₁-1 ]
n_l1___2 [2⋅X₁-1 ]

MPRF for transition t₃₅: n_l1___3(X₀, X₁) → n_l1___3(Arg0_P, Arg1_P) :|: 0 ≤ X₀ ∧ 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2+2⋅X₀ ≤ 3⋅X₁ ∧ 1+Arg0_P ≤ X₁ ∧ 0 ≤ Arg0_P ∧ 2⋅Arg1_P ≤ X₁+Arg0_P ∧ 1+X₁+Arg0_P ≤ 3⋅Arg1_P ∧ X₀ ≤ Arg0_P ∧ Arg0_P ≤ X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

4⋅X₁ {O(n)}

MPRF:

n_l1___3 [2⋅X₁ ]
n_l1___1 [4⋅X₁-2⋅X₀-2 ]
n_l1___4 [2⋅X₁ ]
n_l1___2 [2⋅X₁-2 ]

MPRF for transition t₃₆: n_l1___3(X₀, X₁) → n_l1___4(Arg0_P, X₁) :|: 0 ≤ X₀ ∧ 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2+2⋅X₀ ≤ 3⋅X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 2⋅Arg0_P ≤ 2+X₀+X₁ ∧ 4+X₀+X₁ ≤ 3⋅Arg0_P ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

2⋅X₀+6⋅X₁+7 {O(n)}

MPRF:

n_l1___3 [4⋅X₁-2⋅X₀-3 ]
n_l1___1 [2⋅X₁-3 ]
n_l1___4 [2⋅X₁-4 ]
n_l1___2 [2⋅X₁-4 ]

MPRF for transition t₃₇: n_l1___4(X₀, X₁) → n_l1___1(Arg0_P, Arg1_P) :|: 0 ≤ X₀ ∧ 2 ≤ X₀+X₁ ∧ 4+X₁ ≤ 3⋅X₀ ∧ 2 ≤ X₀ ∧ 2⋅X₀ ≤ 1+2⋅X₁ ∧ 1+Arg0_P ≤ X₁ ∧ 0 ≤ Arg0_P ∧ 2⋅Arg1_P ≤ X₁+Arg0_P ∧ 1+X₁+Arg0_P ≤ 3⋅Arg1_P ∧ X₀ ≤ Arg0_P ∧ Arg0_P ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:

new bound:

3⋅X₁+X₀ {O(n)}

MPRF:

n_l1___3 [2⋅X₁-X₀ ]
n_l1___1 [2⋅X₁-X₀-1 ]
n_l1___4 [X₁ ]
n_l1___2 [X₁ ]

MPRF for transition t₃₈: n_l1___4(X₀, X₁) → n_l1___2(Arg0_P, X₁) :|: 0 ≤ X₀ ∧ 2 ≤ X₀+X₁ ∧ 4+X₁ ≤ 3⋅X₀ ∧ 2 ≤ X₀ ∧ 2⋅X₀ ≤ 1+2⋅X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 2⋅Arg0_P ≤ 2+X₀+X₁ ∧ 4+X₀+X₁ ≤ 3⋅Arg0_P ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:

new bound:

18⋅X₁+6⋅X₀ {O(n)}

MPRF:

n_l1___3 [12⋅X₁-6⋅X₀ ]
n_l1___1 [6⋅X₁ ]
n_l1___4 [6⋅X₁ ]
n_l1___2 [6⋅X₁-3 ]

CFR did not improve the program. Rolling back

All Bounds

Timebounds

Overall timebound:inf {Infinity}
t₂: 1 {O(1)}
t₀: inf {Infinity}
t₁: 2⋅X₁+1 {O(n)}

Costbounds

Overall costbound: inf {Infinity}
t₂: 1 {O(1)}
t₀: inf {Infinity}
t₁: 2⋅X₁+1 {O(n)}

Sizebounds

t₂, X₀: X₀ {O(n)}
t₂, X₁: X₁ {O(n)}
t₀, X₁: 2⋅X₁ {O(n)}
t₁, X₁: 2⋅X₁ {O(n)}