Initial Problem

Start: eval_twn10_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆
Temp_Vars:
Locations: eval_twn10_bb0_in, eval_twn10_bb1_in, eval_twn10_bb2_in, eval_twn10_bb3_in, eval_twn10_start, eval_twn10_stop
Transitions:
t₁: eval_twn10_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_bb1_in(X₄, X₅, X₆, X₃, X₄, X₅, X₆)
t₂: eval_twn10_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: 1 ≤ X₁+X₂
t₃: eval_twn10_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₁+X₂ ≤ 0
t₄: eval_twn10_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_bb1_in(1+X₀, -2-2⋅X₁, 1+X₀, X₃, X₄, X₅, X₆)
t₅: eval_twn10_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆)
t₀: eval_twn10_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_twn10_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆)

Preprocessing

Eliminate variables [X₃] that do not contribute to the problem

Found invariant X₃ ≤ X₀ ∧ X₁+X₂ ≤ 0 for location eval_twn10_bb3_in

Found invariant X₃ ≤ X₀ ∧ X₁+X₂ ≤ 0 for location eval_twn10_stop

Found invariant X₃ ≤ X₀ for location eval_twn10_bb1_in

Found invariant X₃ ≤ X₀ ∧ 1 ≤ X₁+X₂ for location eval_twn10_bb2_in

Problem after Preprocessing

Start: eval_twn10_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅
Temp_Vars:
Locations: eval_twn10_bb0_in, eval_twn10_bb1_in, eval_twn10_bb2_in, eval_twn10_bb3_in, eval_twn10_start, eval_twn10_stop
Transitions:
t₁₁: eval_twn10_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_bb1_in(X₃, X₄, X₅, X₃, X₄, X₅)
t₁₂: eval_twn10_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1 ≤ X₁+X₂ ∧ X₃ ≤ X₀
t₁₃: eval_twn10_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₁+X₂ ≤ 0 ∧ X₃ ≤ X₀
t₁₄: eval_twn10_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_bb1_in(1+X₀, -2-2⋅X₁, 1+X₀, X₃, X₄, X₅) :|: 1 ≤ X₁+X₂ ∧ X₃ ≤ X₀
t₁₅: eval_twn10_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_stop(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₃ ≤ X₀ ∧ X₁+X₂ ≤ 0
t₁₆: eval_twn10_start(X₀, X₁, X₂, X₃, X₄, X₅) → eval_twn10_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅)

TWN: t₁₂: eval_twn10_bb1_in→eval_twn10_bb2_in

cycle: [t₁₂: eval_twn10_bb1_in→eval_twn10_bb2_in; t₁₄: eval_twn10_bb2_in→eval_twn10_bb1_in]
loop: (1 ≤ X₁+X₂ ∧ X₃ ≤ X₀ ∧ 1 ≤ X₁+X₂ ∧ X₃ ≤ X₀,(X₀,X₁,X₂,X₃) -> (1+X₀,-2-2⋅X₁,1+X₀,X₃))
order: [X₀; X₃; X₂; X₁]
closed-form:
X₀: X₀ + [[n != 0]]⋅2⋅n^1
X₃: X₃
X₂: [[n == 0]]⋅X₂ + [[n != 0]]⋅(2+X₀) + [[n != 0, n != 1]]⋅2⋅n^1 + [[n != 0, n != 1]]⋅-2
X₁: X₁⋅(4)^n + [[n != 0]]⋅2/3⋅(4)^n + [[n != 0]]⋅-2/3

Termination: true
Formula:

3⋅X₀ ≤ 5 ∧ 3⋅X₀ ≤ 2 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2 ≤ 3⋅X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ 5 ≤ 3⋅X₀ ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 5 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ 5 ≤ 3⋅X₀ ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 5 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2+3⋅X₁ ≤ 0 ∧ 5 ≤ 3⋅X₀ ∧ 5+6⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 5 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2+3⋅X₁ ≤ 0 ∧ 5 ≤ 3⋅X₀ ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 2 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 0 ≤ 1+3⋅X₁ ∧ 1 ≤ 0 ∧ 2 ≤ 3⋅X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 2 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2 ≤ 3⋅X₀ ∧ 2 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 3⋅X₀ ≤ 2 ∧ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2 ≤ 3⋅X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 0 ≤ 1+3⋅X₁ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 0 ≤ 1+3⋅X₁ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 2 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ 5+6⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 2 ≤ X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ 5+6⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ 0 ≤ 2+3⋅X₁ ∧ 0 ≤ 1 ∧ X₃ ≤ 1+X₀ ∧ 2+3⋅X₁ ≤ 0 ∧ X₃ ≤ X₀
∨ X₃ ≤ 1+X₀ ∧ 0 ≤ 1+3⋅X₁ ∧ 5+6⋅X₁ ≤ 0 ∧ X₃ ≤ X₀

Stabilization-Threshold for: 2+2⋅X₁ ≤ X₀
alphas_abs: 6+3⋅X₀
M: 0
N: 2
Bound: 6⋅X₀+15 {O(n)}
Stabilization-Threshold for: 1 ≤ X₁+X₂
alphas_abs: 6+3⋅X₀
M: 0
N: 2
Bound: 6⋅X₀+15 {O(n)}

TWN - Lifting for [12: eval_twn10_bb1_in->eval_twn10_bb2_in; 14: eval_twn10_bb2_in->eval_twn10_bb1_in] of 24⋅X₀+65 {O(n)}

relevant size-bounds w.r.t. t₁₁: eval_twn10_bb0_in→eval_twn10_bb1_in:
X₀: X₃ {O(n)}
Runtime-bound of t₁₁: 1 {O(1)}
Results in: 24⋅X₃+65 {O(n)}

All Bounds

Timebounds

Overall timebound:48⋅X₃+134 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 24⋅X₃+65 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 24⋅X₃+65 {O(n)}
t₁₅: 1 {O(1)}
t₁₆: 1 {O(1)}

Costbounds

Overall costbound: 48⋅X₃+134 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 24⋅X₃+65 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 24⋅X₃+65 {O(n)}
t₁₅: 1 {O(1)}
t₁₆: 1 {O(1)}

Sizebounds

t₁₁, X₀: X₃ {O(n)}
t₁₁, X₁: X₄ {O(n)}
t₁₁, X₂: X₅ {O(n)}
t₁₁, X₃: X₃ {O(n)}
t₁₁, X₄: X₄ {O(n)}
t₁₁, X₅: X₅ {O(n)}
t₁₂, X₀: 25⋅X₃+65 {O(n)}
t₁₂, X₁: 2398076729582241710080⋅2^(24⋅X₃)+2^(24⋅X₃)⋅36893488147419103232⋅X₄+2^(24⋅X₃)⋅885443715538058477568⋅X₃ {O(EXP)}
t₁₂, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₂, X₃: X₃ {O(n)}
t₁₂, X₄: X₄ {O(n)}
t₁₂, X₅: X₅ {O(n)}
t₁₃, X₀: 26⋅X₃+65 {O(n)}
t₁₃, X₁: 2398076729582241710080⋅2^(24⋅X₃)+2^(24⋅X₃)⋅36893488147419103232⋅X₄+2^(24⋅X₃)⋅885443715538058477568⋅X₃+X₄ {O(EXP)}
t₁₃, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₃, X₃: 2⋅X₃ {O(n)}
t₁₃, X₄: 2⋅X₄ {O(n)}
t₁₃, X₅: 2⋅X₅ {O(n)}
t₁₄, X₀: 25⋅X₃+65 {O(n)}
t₁₄, X₁: 2398076729582241710080⋅2^(24⋅X₃)+2^(24⋅X₃)⋅36893488147419103232⋅X₄+2^(24⋅X₃)⋅885443715538058477568⋅X₃ {O(EXP)}
t₁₄, X₂: 25⋅X₃+66 {O(n)}
t₁₄, X₃: X₃ {O(n)}
t₁₄, X₄: X₄ {O(n)}
t₁₄, X₅: X₅ {O(n)}
t₁₅, X₀: 26⋅X₃+65 {O(n)}
t₁₅, X₁: 2398076729582241710080⋅2^(24⋅X₃)+2^(24⋅X₃)⋅36893488147419103232⋅X₄+2^(24⋅X₃)⋅885443715538058477568⋅X₃+X₄ {O(EXP)}
t₁₅, X₂: 25⋅X₃+X₅+66 {O(n)}
t₁₅, X₃: 2⋅X₃ {O(n)}
t₁₅, X₄: 2⋅X₄ {O(n)}
t₁₅, X₅: 2⋅X₅ {O(n)}
t₁₆, X₀: X₀ {O(n)}
t₁₆, X₁: X₁ {O(n)}
t₁₆, X₂: X₂ {O(n)}
t₁₆, X₃: X₃ {O(n)}
t₁₆, X₄: X₄ {O(n)}
t₁₆, X₅: X₅ {O(n)}