(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_26 (Sun Microsystems Inc.) Main-Class: simple/gauss/Main
package simple.gauss;

public class Gauss {

// does not terminate for negative numbers

public static int sum(int n) {
int sum = 0;
while (n != 0) {
sum += n;
n--;
}
return sum;
}

}


package simple.gauss;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
int value = args[1].length();
if (args[0].length() % 2 == 0) {
value = -value;
}
Gauss.sum(value);
}

}


(1) JBCNonTerm (EQUIVALENT transformation)

Reached a loop using the following run:
0:
<simple.gauss.Main.main||0: load ADDR args||args: a202|| ->
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
1:
<simple.gauss.Main.main||1: push 1||args: a202||a202>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
2:
<simple.gauss.Main.main||2: Read ADDR from array||args: a202||a202, 1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
3:
<simple.gauss.Main.main||3: java.lang.String.length()I||args: a202||o18>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
	i20: #I
	i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
4:
<java.lang.String.length||0: load ADDR this||this: o18|| ->
<simple.gauss.Main.main||3: java.lang.String.length||args: a202||o18>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
	i20: #I
	i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
5:
<java.lang.String.length||1: Read from count|| - ||o18>
<simple.gauss.Main.main||3: java.lang.String.length||args: a202||o18>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
	i20: #I
	i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
6:
<java.lang.String.length||4: return INT|| - ||1>
<simple.gauss.Main.main||3: java.lang.String.length||args: a202||o18>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
	i20: #I
	i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
7:
<simple.gauss.Main.main||6: store INT to value||args: a202||1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
8:
<simple.gauss.Main.main||7: load ADDR args||args: a202, value: 1|| ->
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
9:
<simple.gauss.Main.main||8: push 0||value: 1||a202>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
10:
<simple.gauss.Main.main||9: Read ADDR from array||value: 1||a202, 0>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
11:
<simple.gauss.Main.main||10: java.lang.String.length()I||value: 1||o32>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=i36, offset=i38, value=a14?)
	i36: #I
	i38: [0,+inf)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
12:
<java.lang.String.length||0: load ADDR this||this: o32|| ->
<simple.gauss.Main.main||10: java.lang.String.length||value: 1||o32>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=i36, offset=i38, value=a14?)
	i36: #I
	i38: [0,+inf)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
13:
<java.lang.String.length||1: Read from count|| - ||o32>
<simple.gauss.Main.main||10: java.lang.String.length||value: 1||o32>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=i36, offset=i38, value=a14?)
	i36: #I
	i38: [0,+inf)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
14:
<java.lang.String.length||4: return INT|| - ||2>
<simple.gauss.Main.main||10: java.lang.String.length||value: 1||o32>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=i36, offset=i38, value=a14?)
	i36: #I
	i38: [0,+inf)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
15:
<simple.gauss.Main.main||13: push 2||value: 1||2>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
16:
<simple.gauss.Main.main||14: REM||value: 1||2, 2>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
17:
<simple.gauss.Main.main||15: NE 0||value: 1||0>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
18:
<simple.gauss.Main.main||18: load INT value||value: 1|| ->
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
19:
<simple.gauss.Main.main||19: NEG|| - ||1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
20:
<simple.gauss.Main.main||20: store INT to value|| - ||-1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
21:
<simple.gauss.Main.main||21: load INT value||value: -1|| ->
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
22:
<simple.gauss.Main.main||22: simple.gauss.Gauss.sum(I)I|| - ||-1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
23:
<simple.gauss.Gauss.sum||0: push 0||n: -1|| ->
<simple.gauss.Main.main||22: simple.gauss.Gauss.sum|| - ||-1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
24:
<simple.gauss.Gauss.sum||1: store INT to sum||n: -1||0>
<simple.gauss.Main.main||22: simple.gauss.Gauss.sum|| - ||-1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
25:
<simple.gauss.Gauss.sum||2: load INT n||n: -1, sum: 0|| ->
<simple.gauss.Main.main||22: simple.gauss.Gauss.sum|| - ||-1>
	String.serialVersionUID: -6849794470754667710L
	String.serialPersistentFields: a200
	String.CASE_INSENSITIVE_ORDER: o156
	String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
	RuntimeException.serialVersionUID: -7034897190745766939L
	Exception.serialVersionUID: -3387516993124229948L
	Throwable.serialVersionUID: -3042686055658047285L
	o156!: String$CaseInsensitiveComparator()
	a200([java.io.ObjectStreamField|]): length 0
	o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
	a202([java.lang.String...]): {o32, o18}
	o18(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
In the loop head node, references [i88] were interesting.
By SMT, we could prove
(2 <= initial_i7 and (((path1_i88 = path1_i104 and path1_i106 = (path1_i89 + path1_i104) and path1_i108 = (path1_i104 + -1) and path1_i108 = res_i88 and path1_i106 = res_i89 and path1_i90 = res_i90 and path1_i7 = res_i7 and path1_i88 = initial_i88 and path1_i89 = initial_i89 and path1_i90 = initial_i90 and path1_i7 = initial_i7) and path1_i104 < 0) and ((res_i88 = res_i104 and res_i106 = (res_i89 + res_i104) and res_i108 = (res_i104 + -1)) and !res_i104 != 0)))
to be UNSAT. Consequently, the loop will not terminate.

(2) NO