Initial Problem

Start: f3
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: f2, f3, f300
Transitions:
t₁: f2(X₀, X₁, X₂) → f2(X₀-1, D, X₂) :|: 1 ≤ D ∧ 0 ≤ X₀
t₂: f2(X₀, X₁, X₂) → f2(X₀-1, D, X₂) :|: 1+D ≤ 0 ∧ 0 ≤ X₀
t₃: f2(X₀, X₁, X₂) → f2(X₀, 0, X₂) :|: 0 ≤ X₀
t₄: f2(X₀, X₁, X₂) → f300(X₀, X₁, D) :|: 1+X₀ ≤ 0
t₀: f3(X₀, X₁, X₂) → f2(X₀, X₁, X₂)

Preprocessing

Eliminate variables [X₁; X₂] that do not contribute to the problem

Found invariant 1+X₀ ≤ 0 for location f300

Problem after Preprocessing

Start: f3
Program_Vars: X₀
Temp_Vars: D
Locations: f2, f3, f300
Transitions:
t₉: f2(X₀) → f2(X₀-1) :|: 1 ≤ D ∧ 0 ≤ X₀
t₁₀: f2(X₀) → f2(X₀-1) :|: 1+D ≤ 0 ∧ 0 ≤ X₀
t₁₁: f2(X₀) → f2(X₀) :|: 0 ≤ X₀
t₁₂: f2(X₀) → f300(X₀) :|: 1+X₀ ≤ 0
t₁₃: f3(X₀) → f2(X₀)

MPRF for transition t₉: f2(X₀) → f2(X₀-1) :|: 1 ≤ D ∧ 0 ≤ X₀ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• f2: [1+X₀]

MPRF for transition t₁₀: f2(X₀) → f2(X₀-1) :|: 1+D ≤ 0 ∧ 0 ≤ X₀ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• f2: [1+X₀]

Found invariant 1+X₀ ≤ 0 for location f300

Found invariant 0 ≤ X₀ for location f2_v1

Found invariant 0 ≤ 1+X₀ for location f2_v2

All Bounds

Timebounds

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

Costbounds

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

Sizebounds

t₉, X₀: X₀+1 {O(n)}
t₁₀, X₀: X₀+1 {O(n)}
t₁₁, X₀: X₀+1 {O(n)}
t₁₂, X₀: 3⋅X₀+2 {O(n)}
t₁₃, X₀: X₀ {O(n)}