Initial Problem

Start: evalgcdstart
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalgcdbb4in, evalgcdbb5in, evalgcdbb6in, evalgcdbb7in, evalgcdentryin, evalgcdreturnin, evalgcdstart, evalgcdstop
Transitions:
t₇: evalgcdbb4in(X₀, X₁) → evalgcdbb5in(X₀, X₁) :|: 1+X₁ ≤ X₀
t₈: evalgcdbb4in(X₀, X₁) → evalgcdbb6in(X₀, X₁) :|: X₀ ≤ X₁
t₉: evalgcdbb5in(X₀, X₁) → evalgcdbb7in(X₀-X₁, X₁)
t₁₀: evalgcdbb6in(X₀, X₁) → evalgcdbb7in(X₀, X₁-X₀)
t₄: evalgcdbb7in(X₀, X₁) → evalgcdbb4in(X₀, X₁) :|: 1+X₁ ≤ X₀
t₅: evalgcdbb7in(X₀, X₁) → evalgcdbb4in(X₀, X₁) :|: 1+X₀ ≤ X₁
t₆: evalgcdbb7in(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁
t₃: evalgcdentryin(X₀, X₁) → evalgcdbb7in(X₁, X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₁
t₁: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₀ ≤ 0
t₂: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ 0
t₁₁: evalgcdreturnin(X₀, X₁) → evalgcdstop(X₀, X₁)
t₀: evalgcdstart(X₀, X₁) → evalgcdentryin(X₀, X₁)

Preprocessing

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location evalgcdbb5in

Found invariant 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ X₀ ≤ X₁ for location evalgcdbb6in

Found invariant 1 ≤ X₀+X₁ for location evalgcdbb4in

Found invariant 1 ≤ X₀+X₁ for location evalgcdbb7in

Problem after Preprocessing

Start: evalgcdstart
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalgcdbb4in, evalgcdbb5in, evalgcdbb6in, evalgcdbb7in, evalgcdentryin, evalgcdreturnin, evalgcdstart, evalgcdstop
Transitions:
t₇: evalgcdbb4in(X₀, X₁) → evalgcdbb5in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁
t₈: evalgcdbb4in(X₀, X₁) → evalgcdbb6in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀+X₁
t₉: evalgcdbb5in(X₀, X₁) → evalgcdbb7in(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀
t₁₀: evalgcdbb6in(X₀, X₁) → evalgcdbb7in(X₀, X₁-X₀) :|: 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ X₀ ≤ X₁
t₄: evalgcdbb7in(X₀, X₁) → evalgcdbb4in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁
t₅: evalgcdbb7in(X₀, X₁) → evalgcdbb4in(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₀+X₁
t₆: evalgcdbb7in(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀+X₁
t₃: evalgcdentryin(X₀, X₁) → evalgcdbb7in(X₁, X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₁
t₁: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₀ ≤ 0
t₂: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ 0
t₁₁: evalgcdreturnin(X₀, X₁) → evalgcdstop(X₀, X₁)
t₀: evalgcdstart(X₀, X₁) → evalgcdentryin(X₀, X₁)

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb4in_v6

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb5in_v3

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb6in_v1

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb4in_v1

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb4in_v2

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb5in_v2

Found invariant 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location evalgcdbb7in_v3

Found invariant 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ for location evalgcdbb7in_v1

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb4in_v5

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb6in_v3

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb6in_v2

Found invariant 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location evalgcdbb7in

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb4in_v4

Found invariant 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalgcdbb5in_v1

Found invariant 2 ≤ X₀+X₁ for location evalgcdbb7in_v2

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location evalgcdbb4in_v3

Analysing control-flow refined program

MPRF for transition t₇₃: evalgcdbb7in_v1(X₀, X₁) → evalgcdbb4in_v4(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalgcdbb4in_v4: [X₀]
• evalgcdbb5in_v2: [X₀]
• evalgcdbb7in_v1: [1+X₀]

MPRF for transition t₇₄: evalgcdbb4in_v4(X₀, X₁) → evalgcdbb5in_v2(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalgcdbb4in_v4: [X₀-1]
• evalgcdbb5in_v2: [X₀-2]
• evalgcdbb7in_v1: [X₀-1]

MPRF for transition t₇₅: evalgcdbb5in_v2(X₀, X₁) → evalgcdbb7in_v1(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

X₀+X₁+1 {O(n)}

MPRF:

• evalgcdbb4in_v4: [X₀+X₁-1]
• evalgcdbb5in_v2: [X₀]
• evalgcdbb7in_v1: [X₀+X₁-1]

MPRF for transition t₈₆: evalgcdbb7in_v3(X₀, X₁) → evalgcdbb4in_v6(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• evalgcdbb4in_v6: [X₁]
• evalgcdbb6in_v3: [X₁]
• evalgcdbb7in_v3: [1+X₁]

MPRF for transition t₈₈: evalgcdbb4in_v6(X₀, X₁) → evalgcdbb6in_v3(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• evalgcdbb4in_v6: [X₁-1]
• evalgcdbb6in_v3: [X₁-2]
• evalgcdbb7in_v3: [X₁-1]

MPRF for transition t₈₉: evalgcdbb6in_v3(X₀, X₁) → evalgcdbb7in_v3(X₀, X₁-X₀) :|: 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁ of depth 1:

new bound:

X₀ {O(n)}

MPRF:

• evalgcdbb4in_v6: [X₁]
• evalgcdbb6in_v3: [1+X₁-X₀]
• evalgcdbb7in_v3: [X₁]

MPRF for transition t₇₆: evalgcdbb4in_v3(X₀, X₁) → evalgcdbb6in_v1(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

4⋅X₀+2 {O(n)}

MPRF:

• evalgcdbb4in_v3: [X₁-1]
• evalgcdbb4in_v5: [X₁-1]
• evalgcdbb5in_v3: [X₁-1]
• evalgcdbb6in_v1: [X₁-2]
• evalgcdbb7in_v2: [X₁-1]

MPRF for transition t₇₇: evalgcdbb6in_v1(X₀, X₁) → evalgcdbb7in_v2(X₀, X₁-X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁ of depth 1:

new bound:

4⋅X₀+2 {O(n)}

MPRF:

• evalgcdbb4in_v3: [X₁-1]
• evalgcdbb4in_v5: [X₁-1]
• evalgcdbb5in_v3: [X₁-1]
• evalgcdbb6in_v1: [X₁-1]
• evalgcdbb7in_v2: [X₁-1]

MPRF for transition t₇₉: evalgcdbb7in_v2(X₀, X₁) → evalgcdbb4in_v3(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

4⋅X₀+1 {O(n)}

MPRF:

• evalgcdbb4in_v3: [X₁]
• evalgcdbb4in_v5: [1+X₁]
• evalgcdbb5in_v3: [1+X₁]
• evalgcdbb6in_v1: [X₁]
• evalgcdbb7in_v2: [1+X₁]

MPRF for transition t₈₀: evalgcdbb7in_v2(X₀, X₁) → evalgcdbb4in_v5(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

4⋅X₁+1 {O(n)}

MPRF:

• evalgcdbb4in_v3: [1+X₀]
• evalgcdbb4in_v5: [X₀]
• evalgcdbb5in_v3: [1+X₀-X₁]
• evalgcdbb6in_v1: [1+X₀]
• evalgcdbb7in_v2: [1+X₀]

MPRF for transition t₈₁: evalgcdbb4in_v5(X₀, X₁) → evalgcdbb5in_v3(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

2⋅X₁+4⋅X₀+2 {O(n)}

MPRF:

• evalgcdbb4in_v3: [1+X₁]
• evalgcdbb4in_v5: [1+X₀+X₁]
• evalgcdbb5in_v3: [X₀+X₁]
• evalgcdbb6in_v1: [1+X₁]
• evalgcdbb7in_v2: [1+X₀+X₁]

MPRF for transition t₈₂: evalgcdbb5in_v3(X₀, X₁) → evalgcdbb7in_v2(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

4⋅X₁+2 {O(n)}

MPRF:

• evalgcdbb4in_v3: [X₀-1]
• evalgcdbb4in_v5: [X₀-1]
• evalgcdbb5in_v3: [X₀-1]
• evalgcdbb6in_v1: [X₀-1]
• evalgcdbb7in_v2: [X₀-1]

CFR: Improvement to new bound with the following program:

method: PartialEvaluation new bound:

O(n)

cfr-program:

Start: evalgcdstart
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalgcdbb4in_v1, evalgcdbb4in_v2, evalgcdbb4in_v3, evalgcdbb4in_v4, evalgcdbb4in_v5, evalgcdbb4in_v6, evalgcdbb5in_v1, evalgcdbb5in_v2, evalgcdbb5in_v3, evalgcdbb6in_v1, evalgcdbb6in_v2, evalgcdbb6in_v3, evalgcdbb7in, evalgcdbb7in_v1, evalgcdbb7in_v2, evalgcdbb7in_v3, evalgcdentryin, evalgcdreturnin, evalgcdstart, evalgcdstop
Transitions:
t₈₃: evalgcdbb4in_v1(X₀, X₁) → evalgcdbb6in_v2(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₆₉: evalgcdbb4in_v2(X₀, X₁) → evalgcdbb5in_v1(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₇₆: evalgcdbb4in_v3(X₀, X₁) → evalgcdbb6in_v1(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₇₄: evalgcdbb4in_v4(X₀, X₁) → evalgcdbb5in_v2(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₈₁: evalgcdbb4in_v5(X₀, X₁) → evalgcdbb5in_v3(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₈₈: evalgcdbb4in_v6(X₀, X₁) → evalgcdbb6in_v3(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₇₀: evalgcdbb5in_v1(X₀, X₁) → evalgcdbb7in_v1(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₇₅: evalgcdbb5in_v2(X₀, X₁) → evalgcdbb7in_v1(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₈₂: evalgcdbb5in_v3(X₀, X₁) → evalgcdbb7in_v2(X₀-X₁, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₇₇: evalgcdbb6in_v1(X₀, X₁) → evalgcdbb7in_v2(X₀, X₁-X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁
t₈₄: evalgcdbb6in_v2(X₀, X₁) → evalgcdbb7in_v3(X₀, X₁-X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁
t₈₉: evalgcdbb6in_v3(X₀, X₁) → evalgcdbb7in_v3(X₀, X₁-X₀) :|: 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁
t₆₇: evalgcdbb7in(X₀, X₁) → evalgcdbb4in_v1(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₆₈: evalgcdbb7in(X₀, X₁) → evalgcdbb4in_v2(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₆: evalgcdbb7in(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₆₆: evalgcdbb7in(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₇₂: evalgcdbb7in_v1(X₀, X₁) → evalgcdbb4in_v3(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₇₃: evalgcdbb7in_v1(X₀, X₁) → evalgcdbb4in_v4(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₇₁: evalgcdbb7in_v1(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀
t₇₉: evalgcdbb7in_v2(X₀, X₁) → evalgcdbb4in_v3(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁
t₈₀: evalgcdbb7in_v2(X₀, X₁) → evalgcdbb4in_v5(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁
t₇₈: evalgcdbb7in_v2(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁
t₈₇: evalgcdbb7in_v3(X₀, X₁) → evalgcdbb4in_v5(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₈₆: evalgcdbb7in_v3(X₀, X₁) → evalgcdbb4in_v6(X₀, X₁) :|: 1+X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₈₅: evalgcdbb7in_v3(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 1 ≤ 2⋅X₀+X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+2⋅X₁ ∧ 1 ≤ X₀+X₁ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₃: evalgcdentryin(X₀, X₁) → evalgcdbb7in(X₁, X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₁
t₁: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₀ ≤ 0
t₂: evalgcdentryin(X₀, X₁) → evalgcdreturnin(X₀, X₁) :|: X₁ ≤ 0
t₁₁: evalgcdreturnin(X₀, X₁) → evalgcdstop(X₀, X₁)
t₀: evalgcdstart(X₀, X₁) → evalgcdentryin(X₀, X₁)

All Bounds

Timebounds

Overall timebound:13⋅X₁+20⋅X₀+33 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}
t₆: 1 {O(1)}
t₁₁: 1 {O(1)}
t₆₆: 1 {O(1)}
t₆₇: 1 {O(1)}
t₆₈: 1 {O(1)}
t₆₉: 1 {O(1)}
t₇₀: 1 {O(1)}
t₇₁: 1 {O(1)}
t₇₂: 1 {O(1)}
t₇₃: X₁+1 {O(n)}
t₇₄: X₁+1 {O(n)}
t₇₅: X₀+X₁+1 {O(n)}
t₇₆: 4⋅X₀+2 {O(n)}
t₇₇: 4⋅X₀+2 {O(n)}
t₇₈: 1 {O(1)}
t₇₉: 4⋅X₀+1 {O(n)}
t₈₀: 4⋅X₁+1 {O(n)}
t₈₁: 2⋅X₁+4⋅X₀+2 {O(n)}
t₈₂: 4⋅X₁+2 {O(n)}
t₈₃: 1 {O(1)}
t₈₄: 1 {O(1)}
t₈₅: 1 {O(1)}
t₈₆: X₀+1 {O(n)}
t₈₇: 1 {O(1)}
t₈₈: X₀+1 {O(n)}
t₈₉: X₀ {O(n)}

Costbounds

Overall costbound: 13⋅X₁+20⋅X₀+33 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}
t₆: 1 {O(1)}
t₁₁: 1 {O(1)}
t₆₆: 1 {O(1)}
t₆₇: 1 {O(1)}
t₆₈: 1 {O(1)}
t₆₉: 1 {O(1)}
t₇₀: 1 {O(1)}
t₇₁: 1 {O(1)}
t₇₂: 1 {O(1)}
t₇₃: X₁+1 {O(n)}
t₇₄: X₁+1 {O(n)}
t₇₅: X₀+X₁+1 {O(n)}
t₇₆: 4⋅X₀+2 {O(n)}
t₇₇: 4⋅X₀+2 {O(n)}
t₇₈: 1 {O(1)}
t₇₉: 4⋅X₀+1 {O(n)}
t₈₀: 4⋅X₁+1 {O(n)}
t₈₁: 2⋅X₁+4⋅X₀+2 {O(n)}
t₈₂: 4⋅X₁+2 {O(n)}
t₈₃: 1 {O(1)}
t₈₄: 1 {O(1)}
t₈₅: 1 {O(1)}
t₈₆: X₀+1 {O(n)}
t₈₇: 1 {O(1)}
t₈₈: X₀+1 {O(n)}
t₈₉: X₀ {O(n)}

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₀: 14⋅X₁+2⋅X₀ {O(n)}
t₁₁, X₁: 14⋅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)}
t₆₉, X₀: X₁ {O(n)}
t₆₉, X₁: X₀ {O(n)}
t₇₀, X₀: X₁ {O(n)}
t₇₀, X₁: X₀ {O(n)}
t₇₁, X₀: 2⋅X₁ {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)}
t₇₆, X₀: 4⋅X₁ {O(n)}
t₇₆, X₁: 4⋅X₀ {O(n)}
t₇₇, X₀: 4⋅X₁ {O(n)}
t₇₇, X₁: 4⋅X₀ {O(n)}
t₇₈, X₀: 8⋅X₁ {O(n)}
t₇₈, X₁: 8⋅X₀ {O(n)}
t₇₉, X₀: 4⋅X₁ {O(n)}
t₇₉, X₁: 4⋅X₀ {O(n)}
t₈₀, X₀: 4⋅X₁ {O(n)}
t₈₀, X₁: 4⋅X₀ {O(n)}
t₈₁, X₀: 4⋅X₁ {O(n)}
t₈₁, X₁: 4⋅X₀ {O(n)}
t₈₂, X₀: 4⋅X₁ {O(n)}
t₈₂, X₁: 4⋅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₀: 2⋅X₁ {O(n)}
t₈₅, X₁: 2⋅X₀ {O(n)}
t₈₆, X₀: X₁ {O(n)}
t₈₆, X₁: 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)}