Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂) :|: 0 < X₂
t₁: l1(X₀, X₁, X₂) → l1(-2⋅X₀, 3⋅X₁-2⋅(X₂)³, X₂) :|: (X₀)²+(X₂)⁵ < X₁ ∧ X₀ < 0
t₂: l1(X₀, X₁, X₂) → l1(-2⋅X₀, 3⋅X₁-2⋅(X₂)³, X₂) :|: (X₀)²+(X₂)⁵ < X₁ ∧ 0 < X₀
Preprocessing
Found invariant 1 ≤ X₂ for location l1
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₂) :|: 0 < X₂
t₁: l1(X₀, X₁, X₂) → l1(-2⋅X₀, 3⋅X₁-2⋅(X₂)³, X₂) :|: (X₀)²+(X₂)⁵ < X₁ ∧ X₀ < 0 ∧ 1 ≤ X₂
t₂: l1(X₀, X₁, X₂) → l1(-2⋅X₀, 3⋅X₁-2⋅(X₂)³, X₂) :|: (X₀)²+(X₂)⁵ < X₁ ∧ 0 < X₀ ∧ 1 ≤ X₂
TWN: t₁: l1→l1
cycle: [t₁: l1→l1; t₂: l1→l1]
loop: ((X₀)²+(X₂)⁵ < X₁ ∧ X₀ < 0 ∨ (X₀)²+(X₂)⁵ < X₁ ∧ 0 < X₀,(X₀,X₁,X₂) -> (-2⋅X₀,3⋅X₁-2⋅(X₂)³,X₂)
order: [X₀; X₂; X₁]
closed-form:
X₀: X₀ * 4^n
X₂: X₂
X₁: X₁ * 9^n + [[n != 0]] * -(X₂)³ * 9^n + [[n != 0]] * (X₂)³
Termination: true
Formula:
0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 0 < 2⋅X₀ ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 0 < 2⋅X₀ ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 0 < 2⋅X₀ ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 0 < 2⋅X₀ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² < 0 ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 3⋅(X₂)³ < 3⋅X₁ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
∨ 2⋅X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₀)² < 0
∨ 2⋅X₀ < 0 ∧ (X₂)⁵ < (X₂)³ ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₂)³ < X₁ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)²
∨ 2⋅X₀ < 0 ∧ 4⋅(X₀)² ≤ 0 ∧ 0 ≤ 4⋅(X₀)² ∧ 3⋅(X₂)³ ≤ 3⋅X₁ ∧ 3⋅X₁ ≤ 3⋅(X₂)³ ∧ 0 < X₀ ∧ (X₂)⁵ < (X₂)³ ∧ (X₀)² ≤ 0 ∧ 0 ≤ (X₀)² ∧ (X₂)³ ≤ X₁ ∧ X₁ ≤ (X₂)³
Stabilization-Threshold for: 4⋅(X₀)²+(X₂)⁵+2⋅(X₂)³ < 3⋅X₁
alphas_abs: 3⋅X₁+3⋅(X₂)³+(X₂)⁵
M: 0
N: 1
Bound: 2⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+6⋅X₂⋅X₂⋅X₂+6⋅X₁+2 {O(n^5)}
Stabilization-Threshold for: (X₀)²+(X₂)⁵ < X₁
alphas_abs: X₁+(X₂)³+(X₂)⁵
M: 0
N: 1
Bound: 2⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+2⋅X₂⋅X₂⋅X₂+2⋅X₁+2 {O(n^5)}
TWN - Lifting for t₁: l1→l1 of 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
relevant size-bounds w.r.t. t₀:
X₁: X₁ {O(n)}
X₂: X₂ {O(n)}
Runtime-bound of t₀: 1 {O(1)}
Results in: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
TWN: t₂: l1→l1
TWN - Lifting for t₂: l1→l1 of 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
relevant size-bounds w.r.t. t₀:
X₁: X₁ {O(n)}
X₂: X₂ {O(n)}
Runtime-bound of t₀: 1 {O(1)}
Results in: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
Analysing control-flow refined program
Eliminate variables {NoDet0,X₁} that do not contribute to the problem
Found invariant 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location n_l1___2
Found invariant 1 ≤ X₁ for location l1
Found invariant 1 ≤ X₁ ∧ 3+X₀ ≤ X₁ ∧ 2+X₀ ≤ 0 for location n_l1___1
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
All Bounds
Timebounds
Overall timebound:16⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+32⋅X₂⋅X₂⋅X₂+32⋅X₁+43 {O(n^5)}
t₀: 1 {O(1)}
t₁: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
t₂: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
Costbounds
Overall costbound: 16⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+32⋅X₂⋅X₂⋅X₂+32⋅X₁+43 {O(n^5)}
t₀: 1 {O(1)}
t₁: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
t₂: 8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21 {O(n^5)}
Sizebounds
t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₁, X₀: 2^(8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21)⋅2^(8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21)⋅X₀ {O(EXP)}
t₁, X₂: X₂ {O(n)}
t₂, X₀: 2^(8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21)⋅2^(8⋅X₂⋅X₂⋅X₂⋅X₂⋅X₂+16⋅X₂⋅X₂⋅X₂+16⋅X₁+21)⋅X₀ {O(EXP)}
t₂, X₂: X₂ {O(n)}