Initial Problem

Start: eval_twn02_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: eval_twn02_bb0_in, eval_twn02_bb1_in, eval_twn02_bb2_in, eval_twn02_bb3_in, eval_twn02_start, eval_twn02_stop
Transitions:
t₁: eval_twn02_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb1_in(X₂, X₃, X₂, X₃, X₄)
t₂: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb2_in(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ (X₁)²
t₃: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: (X₁)² ≤ X₀
t₄: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: X₀ ≤ 0
t₅: eval_twn02_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb1_in(5⋅X₀+(X₄)², 2⋅X₁, X₂, X₃, X₄)
t₆: eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_stop(X₀, X₁, X₂, X₃, X₄)
t₀: eval_twn02_start(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb0_in(X₀, X₁, X₂, X₃, X₄)

Preprocessing

Found invariant X₂ ≤ X₀ ∧ 1 ≤ X₀ for location eval_twn02_bb2_in

Found invariant X₂ ≤ X₀ for location eval_twn02_stop

Found invariant X₂ ≤ X₀ for location eval_twn02_bb3_in

Found invariant X₂ ≤ X₀ for location eval_twn02_bb1_in

Problem after Preprocessing

Start: eval_twn02_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: eval_twn02_bb0_in, eval_twn02_bb1_in, eval_twn02_bb2_in, eval_twn02_bb3_in, eval_twn02_start, eval_twn02_stop
Transitions:
t₁: eval_twn02_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb1_in(X₂, X₃, X₂, X₃, X₄)
t₂: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb2_in(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ (X₁)² ∧ X₂ ≤ X₀
t₃: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: (X₁)² ≤ X₀ ∧ X₂ ≤ X₀
t₄: eval_twn02_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: X₀ ≤ 0 ∧ X₂ ≤ X₀
t₅: eval_twn02_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb1_in(5⋅X₀+(X₄)², 2⋅X₁, X₂, X₃, X₄) :|: 1 ≤ X₀ ∧ X₂ ≤ X₀
t₆: eval_twn02_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_twn02_stop(X₀, X₁, X₂, X₃, X₄) :|: X₂ ≤ X₀
t₀: eval_twn02_start(X₀, X₁, X₂, X₃, X₄) → eval_twn02_bb0_in(X₀, X₁, X₂, X₃, X₄)

TWN: t₂: eval_twn02_bb1_in→eval_twn02_bb2_in

cycle: [t₂: eval_twn02_bb1_in→eval_twn02_bb2_in; t₅: eval_twn02_bb2_in→eval_twn02_bb1_in]
loop: (1 ≤ X₀ ∧ 1+X₀ ≤ (X₁)² ∧ X₂ ≤ X₀ ∧ 1 ≤ X₀ ∧ X₂ ≤ X₀,(X₀,X₁,X₂,X₄) -> (5⋅X₀+(X₄)²,2⋅X₁,X₂,X₄))
order: [X₄; X₂; X₁; X₀]
closed-form:
X₄: X₄
X₂: X₂
X₁: X₁⋅(2)^n
X₀: X₀⋅(5)^n + [[n != 0]]⋅1/4⋅(X₄)²⋅(5)^n + [[n != 0]]⋅-1/4⋅(X₄)²

Termination: true
Formula:

(X₄)² ≤ 4 ∧ 1 ≤ 4⋅X₀+(X₄)² ∧ 1 ≤ X₀ ∧ 4 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0
∨ (X₄)² ≤ 4 ∧ 1 ≤ X₀ ∧ 1+4⋅X₂+(X₄)² ≤ 0 ∧ 4 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0
∨ (X₄)² ≤ 4 ∧ 1 ≤ X₀ ∧ 4 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0 ∧ 0 ≤ 4⋅X₂+(X₄)² ∧ 4⋅X₂+(X₄)² ≤ 0
∨ 1 ≤ 4⋅X₀+(X₄)² ∧ 1 ≤ X₀ ∧ 1+4⋅X₀+(X₄)² ≤ 0
∨ 1 ≤ 4⋅X₀+(X₄)² ∧ 1 ≤ X₀ ∧ 1 ≤ 4⋅(X₁)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0
∨ 1 ≤ 4⋅X₀+(X₄)² ∧ 1 ≤ X₀ ∧ 5 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0
∨ 1 ≤ X₀ ∧ 1+4⋅X₀+(X₄)² ≤ 0 ∧ 1+4⋅X₂+(X₄)² ≤ 0 ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0
∨ 1 ≤ X₀ ∧ 1+4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ 4⋅X₂+(X₄)² ∧ 4⋅X₂+(X₄)² ≤ 0
∨ 1 ≤ X₀ ∧ 1 ≤ 4⋅(X₁)² ∧ 1+4⋅X₂+(X₄)² ≤ 0 ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0
∨ 1 ≤ X₀ ∧ 1 ≤ 4⋅(X₁)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ 4⋅X₂+(X₄)² ∧ 4⋅X₂+(X₄)² ≤ 0
∨ 1 ≤ X₀ ∧ 1+4⋅X₂+(X₄)² ≤ 0 ∧ 5 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0
∨ 1 ≤ X₀ ∧ 5 ≤ (X₄)² ∧ 0 ≤ 4⋅X₀+(X₄)² ∧ 4⋅X₀+(X₄)² ≤ 0 ∧ 0 ≤ (X₁)² ∧ (X₁)² ≤ 0 ∧ 0 ≤ 4⋅X₂+(X₄)² ∧ 4⋅X₂+(X₄)² ≤ 0

Stabilization-Threshold for: X₂ ≤ X₀
alphas_abs: 4+4⋅X₂+(X₄)²
M: 0
N: 1
Bound: 2⋅X₄⋅X₄+8⋅X₂+10 {O(n^2)}
Stabilization-Threshold for: 1+X₀ ≤ (X₁)²
alphas_abs: 4⋅(X₁)²+(X₄)²
M: 0
N: 1
Bound: 2⋅X₄⋅X₄+8⋅X₁⋅X₁+2 {O(n^2)}

TWN - Lifting for [2: eval_twn02_bb1_in->eval_twn02_bb2_in; 5: eval_twn02_bb2_in->eval_twn02_bb1_in] of 4⋅X₄⋅X₄+8⋅X₁⋅X₁+8⋅X₂+14 {O(n^2)}

relevant size-bounds w.r.t. t₁: eval_twn02_bb0_in→eval_twn02_bb1_in:
X₁: X₃ {O(n)}
X₂: X₂ {O(n)}
X₄: X₄ {O(n)}
Runtime-bound of t₁: 1 {O(1)}
Results in: 4⋅X₄⋅X₄+8⋅X₃⋅X₃+8⋅X₂+14 {O(n^2)}

Found invariant X₂ ≤ X₀ for location eval_twn02_stop

Found invariant X₂ ≤ X₀ for location eval_twn02_bb3_in

Found invariant X₂ ≤ X₀ for location eval_twn02_bb1_in

Found invariant X₂ ≤ X₀ ∧ 1 ≤ X₀ for location eval_twn02_bb2_in_v1

All Bounds

Timebounds

Overall timebound:16⋅X₃⋅X₃+8⋅X₄⋅X₄+16⋅X₂+33 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 4⋅X₄⋅X₄+8⋅X₃⋅X₃+8⋅X₂+14 {O(n^2)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 4⋅X₄⋅X₄+8⋅X₃⋅X₃+8⋅X₂+14 {O(n^2)}
t₆: 1 {O(1)}

Costbounds

Overall costbound: 16⋅X₃⋅X₃+8⋅X₄⋅X₄+16⋅X₂+33 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 4⋅X₄⋅X₄+8⋅X₃⋅X₃+8⋅X₂+14 {O(n^2)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 4⋅X₄⋅X₄+8⋅X₃⋅X₃+8⋅X₂+14 {O(n^2)}
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₁: X₃ {O(n)}
t₁, X₂: X₂ {O(n)}
t₁, X₃: X₃ {O(n)}
t₁, X₄: X₄ {O(n)}
t₂, X₁: 16384⋅2^(4⋅X₄⋅X₄)⋅2^(8⋅X₂)⋅2^(8⋅X₃⋅X₃)⋅X₃ {O(EXP)}
t₂, X₂: X₂ {O(n)}
t₂, X₃: X₃ {O(n)}
t₂, X₄: X₄ {O(n)}
t₃, X₁: 16384⋅2^(4⋅X₄⋅X₄)⋅2^(8⋅X₂)⋅2^(8⋅X₃⋅X₃)⋅X₃+X₃ {O(EXP)}
t₃, X₂: 2⋅X₂ {O(n)}
t₃, X₃: 2⋅X₃ {O(n)}
t₃, X₄: 2⋅X₄ {O(n)}
t₄, X₁: 16384⋅2^(4⋅X₄⋅X₄)⋅2^(8⋅X₂)⋅2^(8⋅X₃⋅X₃)⋅X₃+X₃ {O(EXP)}
t₄, X₂: 2⋅X₂ {O(n)}
t₄, X₃: 2⋅X₃ {O(n)}
t₄, X₄: 2⋅X₄ {O(n)}
t₅, X₁: 16384⋅2^(4⋅X₄⋅X₄)⋅2^(8⋅X₂)⋅2^(8⋅X₃⋅X₃)⋅X₃ {O(EXP)}
t₅, X₂: X₂ {O(n)}
t₅, X₃: X₃ {O(n)}
t₅, X₄: X₄ {O(n)}
t₆, X₁: 2^(4⋅X₄⋅X₄)⋅2^(8⋅X₂)⋅2^(8⋅X₃⋅X₃)⋅32768⋅X₃+2⋅X₃ {O(EXP)}
t₆, X₂: 4⋅X₂ {O(n)}
t₆, X₃: 4⋅X₃ {O(n)}
t₆, X₄: 4⋅X₄ {O(n)}