Initial Problem

Start: evalndecrstart
Program_Vars: X₀
Temp_Vars:
Locations: evalndecrbb1in, evalndecrbbin, evalndecrentryin, evalndecrreturnin, evalndecrstart, evalndecrstop
Transitions:
t₂: evalndecrbb1in(X₀) → evalndecrbbin(X₀) :|: 2 ≤ X₀
t₃: evalndecrbb1in(X₀) → evalndecrreturnin(X₀) :|: X₀ ≤ 1
t₄: evalndecrbbin(X₀) → evalndecrbb1in(X₀-1)
t₁: evalndecrentryin(X₀) → evalndecrbb1in(X₀-1)
t₅: evalndecrreturnin(X₀) → evalndecrstop(X₀)
t₀: evalndecrstart(X₀) → evalndecrentryin(X₀)

Preprocessing

Found invariant X₀ ≤ 1 for location evalndecrstop

Found invariant X₀ ≤ 1 for location evalndecrreturnin

Found invariant 2 ≤ X₀ for location evalndecrbbin

Problem after Preprocessing

Start: evalndecrstart
Program_Vars: X₀
Temp_Vars:
Locations: evalndecrbb1in, evalndecrbbin, evalndecrentryin, evalndecrreturnin, evalndecrstart, evalndecrstop
Transitions:
t₂: evalndecrbb1in(X₀) → evalndecrbbin(X₀) :|: 2 ≤ X₀
t₃: evalndecrbb1in(X₀) → evalndecrreturnin(X₀) :|: X₀ ≤ 1
t₄: evalndecrbbin(X₀) → evalndecrbb1in(X₀-1) :|: 2 ≤ X₀
t₁: evalndecrentryin(X₀) → evalndecrbb1in(X₀-1)
t₅: evalndecrreturnin(X₀) → evalndecrstop(X₀) :|: X₀ ≤ 1
t₀: evalndecrstart(X₀) → evalndecrentryin(X₀)

MPRF for transition t₂: evalndecrbb1in(X₀) → evalndecrbbin(X₀) :|: 2 ≤ X₀ of depth 1:

new bound:

X₀+2 {O(n)}

MPRF:

• evalndecrbb1in: [X₀-1]
• evalndecrbbin: [X₀-2]

MPRF for transition t₄: evalndecrbbin(X₀) → evalndecrbb1in(X₀-1) :|: 2 ≤ X₀ of depth 1:

new bound:

X₀+2 {O(n)}

MPRF:

• evalndecrbb1in: [X₀-1]
• evalndecrbbin: [X₀-1]

All Bounds

Timebounds

Overall timebound:2⋅X₀+8 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: X₀+2 {O(n)}
t₃: 1 {O(1)}
t₄: X₀+2 {O(n)}
t₅: 1 {O(1)}

Costbounds

Overall costbound: 2⋅X₀+8 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: X₀+2 {O(n)}
t₃: 1 {O(1)}
t₄: X₀+2 {O(n)}
t₅: 1 {O(1)}

Sizebounds

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