summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-27 17:23:35 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-27 17:23:35 -0600
commit008d0de42fdabb54dc43de5cfa33f4c15bd1d7ba (patch)
tree6dfe9be0ecba76cc72e3f5f5e19f3bff2613b882
parent52ee644979315eb566949629a9e301bd9db70656 (diff)
Finally fix the InputStreamReader issues in V2VM
-rw-r--r--V2VM.java26
-rw-r--r--output/BinaryTree.vaporm2772
-rw-r--r--output/BubbleSort.vaporm446
-rw-r--r--output/LinearSearch.vaporm456
-rw-r--r--output/LinkedList.vaporm1820
-rw-r--r--output/QuickSort.vaporm576
-rw-r--r--output/TreeVisitor.vaporm3242
7 files changed, 9333 insertions, 5 deletions
diff --git a/V2VM.java b/V2VM.java
index 9198d71..dd83d14 100644
--- a/V2VM.java
+++ b/V2VM.java
@@ -9,8 +9,11 @@ import cs132.vapor.ast.VDataSegment;
import cs132.vapor.ast.VFunction;
import cs132.vapor.ast.VInstr;
-import java.io.InputStreamReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.Arrays;
@@ -24,12 +27,14 @@ public class V2VM {
public static void main(String[] args) {
try {
- System.in.mark(-1);
+ byte[] bytes = readAllBytes(System.in);
+ InputStream is1 = new ByteArrayInputStream(bytes);
+ InputStream is2 = new ByteArrayInputStream(bytes);
+
InputStream systemInCopy = createCopyOfSystemIn();
- System.in.reset();
- ArrayList<String> strProg = inputStreamToArrayList(systemInCopy);
+ ArrayList<String> strProg = inputStreamToArrayList(is1);
- VaporProgram prog = parseVapor(System.in, System.out);
+ VaporProgram prog = parseVapor(is2, System.out);
MinimalLogger.info(String.format("Generating Intervals..."));
LIRVisitor lv = new LIRVisitor(prog, strProg);
@@ -99,6 +104,17 @@ public class V2VM {
return lines;
}
+ public static byte[] readAllBytes(InputStream inputStream) throws IOException {
+ ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+ int nRead;
+ byte[] data = new byte[1024];
+ while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
+ buffer.write(data, 0, nRead);
+ }
+ buffer.flush();
+ return buffer.toByteArray();
+ }
+
private static InputStream createCopyOfSystemIn() {
byte[] buffer = new byte[1024];
int bytesRead;
diff --git a/output/BinaryTree.vaporm b/output/BinaryTree.vaporm
index e69de29..2a361a9 100644
--- a/output/BinaryTree.vaporm
+++ b/output/BinaryTree.vaporm
@@ -0,0 +1,2772 @@
+const functable_BT
+ :BT_Start
+const functable_Tree
+ :Tree_Init
+ :Tree_SetRight
+ :Tree_SetLeft
+ :Tree_GetRight
+ :Tree_GetLeft
+ :Tree_GetKey
+ :Tree_SetKey
+ :Tree_GetHas_Right
+ :Tree_GetHas_Left
+ :Tree_SetHas_Left
+ :Tree_SetHas_Right
+ :Tree_Compare
+ :Tree_Insert
+ :Tree_Delete
+ :Tree_Remove
+ :Tree_RemoveRight
+ :Tree_RemoveLeft
+ :Tree_Search
+ :Tree_Print
+ :Tree_RecPrint
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(4 )
+ [$s7+0] = :functable_BT
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ PrintIntS($s5 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func BT_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = HeapAllocZ(104 )
+ [$s6+0] = :functable_Tree
+ $s7 = $s6
+ $s7 = $s7
+ $s6 = [$s7+0]
+ $s5 = [$s6+0]
+ $s6 = 16
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s6
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s4 = 100000000
+ PrintIntS($s4 )
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 8
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+48]
+ $s3 = 24
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s5
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+48]
+ $s5 = 4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s5
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+48]
+ $s3 = 20
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s5
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+48]
+ $s5 = 28
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s5
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 14
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 24
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+68]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 16
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+68]
+ $s3 = 50
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+52]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s6 = [$s4+68]
+ $s4 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s6
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s3
+ PrintIntS($s4 )
+ $s4 = 0
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+88] = $s7
+ [$s6+92] = 0
+ [$s6+96] = 0
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+84] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+80] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+84]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+80]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetKey [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+88]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetKey [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+88] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetHas_Right [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+96]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetHas_Left [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+92]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetHas_Left [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+92] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetHas_Right [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+96] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Compare [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = 0
+ $s5 = $s7
+ $s3 = 1
+ $s2 = Add($s5 $s3 )
+ $s3 = $s2
+ $s2 = $s6
+ $s5 = $s7
+ $s7 = LtS($s2 $s5 )
+ $s5 = $s7
+ if0 $s5 goto :if100_else
+if100_body:
+ $s4 = 0
+ goto :if100_end
+if100_else:
+ $s5 = $s6
+ $s6 = $s3
+ $s3 = LtS($s5 $s6 )
+ $s6 = Eq($s3 0 )
+ $s3 = $s6
+ if0 $s3 goto :if104_else
+if104_body:
+ $s4 = 0
+ goto :if104_end
+if104_else:
+ $s4 = 1
+if104_end:
+if100_end:
+ $s3 = $s4
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Insert [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = HeapAllocZ(104 )
+ [$s5+0] = :functable_Tree
+ $s4 = $s5
+ $s4 = $s4
+ $s5 = [$s4+0]
+ $s3 = [$s5+0]
+ $s5 = $s7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s2 = $s6
+ $s6 = 1
+while115_test:
+ $s3 = $s6
+ if0 $s3 goto :while115_end
+while115_body:
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s3 = $s7
+ $s7 = $s1
+ $s1 = LtS($s3 $s7 )
+ $s7 = $s1
+ if0 $s7 goto :if120_else
+if120_body:
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s1 = [$s7+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ if0 $s1 goto :if124_else
+if124_body:
+ $s2 = $s2
+ $s1 = [$s2+0]
+ $s7 = [$s1+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s7
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if124_end
+if124_else:
+ $s6 = 0
+ $s2 = $s2
+ $s1 = [$s2+0]
+ $s7 = [$s1+36]
+ $s1 = 1
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s1
+ call $s7
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s3
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s1 = [$s3+8]
+ $s3 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s3
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+if124_end:
+ goto :if120_end
+if120_else:
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s3 = [$s7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s7
+ if0 $s3 goto :if139_else
+if139_body:
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s7 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s7
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ goto :if139_end
+if139_else:
+ $s6 = 0
+ $s2 = $s2
+ $s6 = [$s2+0]
+ $s3 = [$s6+40]
+ $s6 = 1
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s6
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s6 = [$s7+4]
+ $s7 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s7
+ call $s6
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+if139_end:
+if120_end:
+ goto :while115_test
+while115_end:
+ $s4 = 1
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Delete [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s4 = $s6
+ $s3 = 1
+ $s2 = 0
+ $s1 = 1
+while155_test:
+ $s0 = $s3
+ if0 $s0 goto :while155_end
+while155_body:
+ $s5 = $s5
+ $s0 = [$s5+0]
+ $t7 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t7 = $s0
+ $s0 = $s7
+ $t6 = $t7
+ $t5 = LtS($s0 $t6 )
+ $t6 = $t5
+ if0 $t6 goto :if160_else
+if160_body:
+ $s5 = $s5
+ $t6 = [$s5+0]
+ $t5 = [$t6+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t5
+ $t6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t5 = $t6
+ if0 $t5 goto :if164_else
+if164_body:
+ $s4 = $s5
+ $s5 = $s5
+ $t5 = [$s5+0]
+ $t6 = [$t5+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t6
+ $t5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $t5
+ goto :if164_end
+if164_else:
+ $s3 = 0
+if164_end:
+ goto :if160_end
+if160_else:
+ $t5 = $t7
+ $t7 = $s7
+ $s7 = LtS($t5 $t7 )
+ $t7 = $s7
+ if0 $t7 goto :if171_else
+if171_body:
+ $s5 = $s5
+ $t7 = [$s5+0]
+ $s7 = [$t7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s7
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $t7
+ if0 $s7 goto :if175_else
+if175_body:
+ $s4 = $s5
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $t7 = [$s7+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ goto :if175_end
+if175_else:
+ $s3 = 0
+if175_end:
+ goto :if171_end
+if171_else:
+ $s7 = $s1
+ if0 $s7 goto :if182_else
+if182_body:
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $t7 = [$s7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t7 = Eq($s7 0 )
+ $s7 = $t7
+ $s5 = $s5
+ $t7 = [$s5+0]
+ $t5 = [$t7+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t5
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t5 = Eq($t7 0 )
+ $t7 = $t5
+ $t5 = Eq(1 $s7 )
+ $s7 = Eq(1 $t7 )
+ $t7 = Eq($t5 $s7 )
+ $s7 = $t7
+ if0 $s7 goto :if183_else
+if183_body:
+ $s7 = 1
+ goto :if183_end
+if183_else:
+ $t7 = [$s6+0]
+ $t5 = $s4
+ $t6 = $s5
+ $t7 = [$t7+56]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t5
+ $a2 = $t6
+ call $t7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s0
+if183_end:
+ goto :if182_end
+if182_else:
+ $s0 = [$s6+0]
+ $t6 = $s4
+ $s4 = $s5
+ $s0 = [$s0+56]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t6
+ $a2 = $s4
+ call $s0
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s5
+if182_end:
+ $s2 = 1
+ $s3 = 0
+if171_end:
+if160_end:
+ $s1 = 0
+ goto :while155_test
+while155_end:
+ $s1 = $s2
+ $v0 = $s1
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Remove [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :if206_else
+if206_body:
+ $s3 = [$s5+0]
+ $s4 = $s6
+ $s2 = $s7
+ $s3 = [$s3+64]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s4
+ $a2 = $s2
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if206_end
+if206_else:
+ $s7 = $s7
+ $s1 = [$s7+0]
+ $s4 = [$s1+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s1
+ if0 $s4 goto :if214_else
+if214_body:
+ $s4 = [$s5+0]
+ $s1 = $s6
+ $s3 = $s7
+ $s4 = [$s4+60]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s1
+ $a2 = $s3
+ call $s4
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s0
+ goto :if214_end
+if214_else:
+ $s7 = $s7
+ $s0 = [$s7+0]
+ $s3 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s0
+ $s6 = $s6
+ $s0 = [$s6+0]
+ $s7 = [$s0+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s0
+ $s0 = [$s7+0]
+ $s1 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s1
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s0
+ $s0 = [$s5+0]
+ $s7 = $s3
+ $s3 = $s1
+ $s0 = [$s0+44]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s7
+ $a2 = $s3
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s1
+ if0 $s3 goto :if232_else
+if232_body:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s1 = [$s3+8]
+ $s3 = [$s5+100]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s3 = [$s7+36]
+ $s7 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if232_end
+if232_else:
+ $s6 = $s6
+ $s1 = [$s6+0]
+ $s7 = [$s1+4]
+ $s1 = [$s5+100]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s1
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s1 = [$s5+40]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s7
+if232_end:
+if214_end:
+if206_end:
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RemoveRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+while254_test:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :while254_end
+while254_body:
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+24]
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s6 = $s7
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s3
+ goto :while254_test
+while254_end:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s7 = [$s3+4]
+ $s3 = [$s5+100]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s3 = [$s5+40]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RemoveLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+while282_test:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :while282_end
+while282_body:
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+24]
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s6 = $s7
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s3
+ goto :while282_test
+while282_end:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s7 = [$s3+8]
+ $s3 = [$s5+100]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s3 = [$s5+36]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Search [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s6 = 1
+ $s4 = 0
+while310_test:
+ $s3 = $s6
+ if0 $s3 goto :while310_end
+while310_body:
+ $s5 = $s5
+ $s3 = [$s5+0]
+ $s2 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = $s7
+ $s1 = $s2
+ $s0 = LtS($s3 $s1 )
+ $s1 = $s0
+ if0 $s1 goto :if315_else
+if315_body:
+ $s5 = $s5
+ $s1 = [$s5+0]
+ $s0 = [$s1+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s0 = $s1
+ if0 $s0 goto :if319_else
+if319_body:
+ $s5 = $s5
+ $s0 = [$s5+0]
+ $s1 = [$s0+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s1
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s0
+ goto :if319_end
+if319_else:
+ $s6 = 0
+if319_end:
+ goto :if315_end
+if315_else:
+ $s0 = $s2
+ $s2 = $s7
+ $s7 = LtS($s0 $s2 )
+ $s2 = $s7
+ if0 $s2 goto :if326_else
+if326_body:
+ $s5 = $s5
+ $s2 = [$s5+0]
+ $s7 = [$s2+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s7
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s2
+ if0 $s7 goto :if330_else
+if330_body:
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $s2 = [$s7+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s2
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ goto :if330_end
+if330_else:
+ $s6 = 0
+if330_end:
+ goto :if326_end
+if326_else:
+ $s4 = 1
+ $s6 = 0
+if326_end:
+if315_end:
+ goto :while310_test
+while310_end:
+ $s6 = $s4
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $s6
+ $s5 = [$s6+0]
+ $s4 = $s7
+ $s5 = [$s5+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s4 = 1
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RecPrint [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ if0 $s4 goto :if342_else
+if342_body:
+ $s4 = [$s6+0]
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ $s4 = [$s4+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ goto :if342_end
+if342_else:
+ $s3 = 1
+if342_end:
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ PrintIntS($s4 )
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+ if0 $s5 goto :if356_else
+if356_body:
+ $s5 = [$s6+0]
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s2 = [$s4+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s4
+ $s5 = [$s5+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s2
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ goto :if356_end
+if356_else:
+ $s3 = 1
+if356_end:
+ $s3 = 1
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
diff --git a/output/BubbleSort.vaporm b/output/BubbleSort.vaporm
index e69de29..25eee81 100644
--- a/output/BubbleSort.vaporm
+++ b/output/BubbleSort.vaporm
@@ -0,0 +1,446 @@
+const functable_BBS
+ :BBS_Start
+ :BBS_Sort
+ :BBS_Print
+ :BBS_Init
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(24 )
+ [$s7+0] = :functable_BBS
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ $s7 = 10
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s4
+ PrintIntS($s7 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func BBS_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = [$s6+0]
+ $s4 = $s7
+ $s5 = [$s5+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s7 = [$s6+0]
+ $s7 = [$s7+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ $s5 = 99999
+ PrintIntS($s5 )
+ $s5 = [$s6+0]
+ $s5 = [$s5+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s7 = [$s6+0]
+ $s7 = [$s7+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ $s5 = 0
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func BBS_Sort [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = [$s7+20]
+ $s5 = 1
+ $s4 = Sub($s6 $s5 )
+ $s5 = $s4
+ $s4 = 0
+ $s6 = 1
+ $s3 = Sub($s4 $s6 )
+ $s6 = $s3
+while23_test:
+ $s3 = $s6
+ $s6 = $s5
+ $s4 = LtS($s3 $s6 )
+ $s6 = $s4
+ if0 $s6 goto :while23_end
+while23_body:
+ $s6 = 1
+while28_test:
+ $s4 = $s6
+ $s3 = $s5
+ $s2 = 1
+ $s1 = Add($s3 $s2 )
+ $s2 = $s1
+ $s1 = LtS($s4 $s2 )
+ $s2 = $s1
+ if0 $s2 goto :while28_end
+while28_body:
+ $s2 = $s6
+ $s1 = 1
+ $s4 = Sub($s2 $s1 )
+ $s1 = $s4
+ $s4 = [$s7+16]
+ $s2 = MulS($s1 4 )
+ $s2 = Add($s2 4 )
+ $s2 = Add($s4 $s2 )
+ $s4 = [$s2+0]
+ $s2 = $s4
+ $s4 = [$s7+16]
+ $s1 = MulS($s6 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s4 $s1 )
+ $s4 = [$s1+0]
+ $s1 = $s4
+ $s4 = $s1
+ $s1 = $s2
+ $s2 = LtS($s4 $s1 )
+ $s1 = $s2
+ if0 $s1 goto :if45_else
+if45_body:
+ $s1 = $s6
+ $s2 = 1
+ $s4 = Sub($s1 $s2 )
+ $s2 = $s4
+ $s4 = [$s7+16]
+ $s1 = MulS($s2 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s4 $s1 )
+ $s4 = [$s1+0]
+ $s1 = $s4
+ $s4 = [$s7+16]
+ $s3 = MulS($s2 4 )
+ $s3 = Add($s3 4 )
+ $s3 = Add($s4 $s3 )
+ $s4 = [$s7+16]
+ $s2 = MulS($s6 4 )
+ $s2 = Add($s2 4 )
+ $s2 = Add($s4 $s2 )
+ $s4 = [$s2+0]
+ [$s3+0] = $s4
+ $s4 = [$s7+16]
+ $s7 = MulS($s6 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s4 $s7 )
+ [$s7+0] = $s1
+ goto :if45_end
+if45_else:
+ $s7 = 0
+if45_end:
+ $s7 = $s6
+ $s1 = 1
+ $s4 = Add($s7 $s1 )
+ $s6 = $s4
+ goto :while28_test
+while28_end:
+ $s4 = $s5
+ $s6 = 1
+ $s1 = Sub($s4 $s6 )
+ $s5 = $s1
+ goto :while23_test
+while23_end:
+ $s1 = 0
+ $v0 = $s1
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func BBS_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = 0
+while69_test:
+ $s5 = $s7
+ $s4 = [$s6+20]
+ $s3 = LtS($s5 $s4 )
+ $s4 = $s3
+ if0 $s4 goto :while69_end
+while69_body:
+ $s4 = [$s6+16]
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s4 $s6 )
+ $s4 = [$s6+0]
+ $s6 = $s4
+ PrintIntS($s6 )
+ $s6 = $s7
+ $s4 = 1
+ $s3 = Add($s6 $s4 )
+ $s7 = $s3
+ goto :while69_test
+while69_end:
+ $s3 = 0
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func BBS_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+20] = $s7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call :AllocArray
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+16] = $s5
+ $s5 = [$s6+16]
+ $s7 = MulS(0 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 20
+ $s7 = [$s6+16]
+ $s5 = MulS(1 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 7
+ $s5 = [$s6+16]
+ $s7 = MulS(2 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 12
+ $s7 = [$s6+16]
+ $s5 = MulS(3 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 18
+ $s5 = [$s6+16]
+ $s7 = MulS(4 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 2
+ $s7 = [$s6+16]
+ $s5 = MulS(5 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 11
+ $s5 = [$s6+16]
+ $s7 = MulS(6 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 6
+ $s7 = [$s6+16]
+ $s5 = MulS(7 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 9
+ $s5 = [$s6+16]
+ $s7 = MulS(8 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 19
+ $s7 = [$s6+16]
+ $s6 = MulS(9 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s7 $s6 )
+ [$s6+0] = 5
+ $s6 = 0
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
diff --git a/output/LinearSearch.vaporm b/output/LinearSearch.vaporm
index e69de29..60a7b9d 100644
--- a/output/LinearSearch.vaporm
+++ b/output/LinearSearch.vaporm
@@ -0,0 +1,456 @@
+const functable_LS
+ :LS_Start
+ :LS_Print
+ :LS_Search
+ :LS_Init
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(24 )
+ [$s7+0] = :functable_LS
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ $s7 = 10
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s4
+ PrintIntS($s7 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func LS_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = [$s6+0]
+ $s4 = $s7
+ $s5 = [$s5+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s4 = [$s6+0]
+ $s4 = [$s4+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s4
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s4 = 9999
+ PrintIntS($s4 )
+ $s4 = [$s6+0]
+ $s7 = 8
+ $s4 = [$s4+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s5
+ PrintIntS($s7 )
+ $s7 = [$s6+0]
+ $s5 = 12
+ $s7 = [$s7+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s7
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+ PrintIntS($s5 )
+ $s5 = [$s6+0]
+ $s4 = 17
+ $s5 = [$s5+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ PrintIntS($s4 )
+ $s4 = [$s6+0]
+ $s7 = 50
+ $s4 = [$s4+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s5
+ PrintIntS($s7 )
+ $s7 = 55
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func LS_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = 1
+while29_test:
+ $s5 = $s7
+ $s4 = [$s6+20]
+ $s3 = LtS($s5 $s4 )
+ $s4 = $s3
+ if0 $s4 goto :while29_end
+while29_body:
+ $s4 = [$s6+16]
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s4 $s6 )
+ $s4 = [$s6+0]
+ $s6 = $s4
+ PrintIntS($s6 )
+ $s6 = $s7
+ $s4 = 1
+ $s3 = Add($s6 $s4 )
+ $s7 = $s3
+ goto :while29_test
+while29_end:
+ $s3 = 0
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func LS_Search [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = 1
+ $s4 = 0
+ $s3 = 0
+while42_test:
+ $s2 = $s7
+ $s1 = [$s5+20]
+ $s0 = LtS($s2 $s1 )
+ $s1 = $s0
+ if0 $s1 goto :while42_end
+while42_body:
+ $s1 = [$s5+16]
+ $s0 = MulS($s7 4 )
+ $s0 = Add($s0 4 )
+ $s0 = Add($s1 $s0 )
+ $s1 = [$s0+0]
+ $s0 = $s1
+ $s1 = $s6
+ $s2 = 1
+ $t7 = Add($s1 $s2 )
+ $s2 = $t7
+ $t7 = $s0
+ $s1 = $s6
+ $s6 = LtS($t7 $s1 )
+ $s1 = $s6
+ if0 $s1 goto :if53_else
+if53_body:
+ $s1 = 0
+ goto :if53_end
+if53_else:
+ $s6 = $s0
+ $s0 = $s2
+ $s2 = LtS($s6 $s0 )
+ $s0 = Eq($s2 0 )
+ $s2 = $s0
+ if0 $s2 goto :if57_else
+if57_body:
+ $s1 = 0
+ goto :if57_end
+if57_else:
+ $s4 = 1
+ $s3 = 1
+ $s7 = [$s5+20]
+if57_end:
+if53_end:
+ $s5 = $s7
+ $s4 = 1
+ $s1 = Add($s5 $s4 )
+ $s7 = $s1
+ goto :while42_test
+while42_end:
+ $s1 = $s3
+ $v0 = $s1
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func LS_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+20] = $s7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call :AllocArray
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+16] = $s5
+ $s5 = 1
+ $s7 = [$s6+20]
+ $s4 = 1
+ $s3 = Add($s7 $s4 )
+ $s4 = $s3
+while70_test:
+ $s3 = $s5
+ $s7 = [$s6+20]
+ $s2 = LtS($s3 $s7 )
+ $s7 = $s2
+ if0 $s7 goto :while70_end
+while70_body:
+ $s7 = 2
+ $s2 = $s5
+ $s3 = MulS($s7 $s2 )
+ $s2 = $s3
+ $s3 = $s4
+ $s7 = 3
+ $s1 = Sub($s3 $s7 )
+ $s7 = $s1
+ $s1 = [$s6+16]
+ $s6 = MulS($s5 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s1 $s6 )
+ $s1 = $s2
+ $s2 = $s7
+ $s7 = Add($s1 $s2 )
+ [$s6+0] = $s7
+ $s7 = $s5
+ $s6 = 1
+ $s2 = Add($s7 $s6 )
+ $s5 = $s2
+ $s2 = $s4
+ $s5 = 1
+ $s6 = Sub($s2 $s5 )
+ $s4 = $s6
+ goto :while70_test
+while70_end:
+ $s6 = 0
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
diff --git a/output/LinkedList.vaporm b/output/LinkedList.vaporm
index e69de29..93bf1ec 100644
--- a/output/LinkedList.vaporm
+++ b/output/LinkedList.vaporm
@@ -0,0 +1,1820 @@
+const functable_Element
+ :Element_Init
+ :Element_GetAge
+ :Element_GetSalary
+ :Element_GetMarried
+ :Element_Equal
+ :Element_Compare
+const functable_List
+ :List_Init
+ :List_InitNew
+ :List_Insert
+ :List_SetNext
+ :List_Delete
+ :List_Search
+ :List_GetEnd
+ :List_GetElem
+ :List_GetNext
+ :List_Print
+const functable_LL
+ :LL_Start
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(4 )
+ [$s7+0] = :functable_LL
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ PrintIntS($s5 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = $a3
+ [$s5+24] = $s6
+ [$s5+28] = $s7
+ [$s5+32] = $s4
+ $s4 = 1
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_GetAge [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+24]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_GetSalary [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+28]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_GetMarried [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+32]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_Equal [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = 1
+ $s6 = $s6
+ $s4 = [$s6+0]
+ $s3 = [$s4+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ $s4 = [$s5+0]
+ $s2 = $s3
+ $s3 = [$s5+24]
+ $s4 = [$s4+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s2
+ $a2 = $s3
+ call $s4
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = Eq($s1 0 )
+ $s1 = $s3
+ if0 $s1 goto :if12_else
+if12_body:
+ $s7 = 0
+ goto :if12_end
+if12_else:
+ $s6 = $s6
+ $s1 = [$s6+0]
+ $s3 = [$s1+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s1
+ $s1 = [$s5+0]
+ $s2 = $s3
+ $s3 = [$s5+28]
+ $s1 = [$s1+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s2
+ $a2 = $s3
+ call $s1
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = Eq($s4 0 )
+ $s4 = $s3
+ if0 $s4 goto :if21_else
+if21_body:
+ $s7 = 0
+ goto :if21_end
+if21_else:
+ $s4 = [$s5+32]
+ if0 $s4 goto :if27_else
+if27_body:
+ $s6 = $s6
+ $s4 = [$s6+0]
+ $s5 = [$s4+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = Eq($s4 0 )
+ $s4 = $s5
+ if0 $s4 goto :if28_else
+if28_body:
+ $s7 = 0
+ goto :if28_end
+if28_else:
+ $s4 = 0
+if28_end:
+ goto :if27_end
+if27_else:
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s3 = [$s5+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ if0 $s3 goto :if33_else
+if33_body:
+ $s7 = 0
+ goto :if33_end
+if33_else:
+ $s4 = 0
+if33_end:
+if27_end:
+if21_end:
+if12_end:
+ $s4 = $s7
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Element_Compare [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = 0
+ $s5 = $s7
+ $s3 = 1
+ $s2 = Add($s5 $s3 )
+ $s3 = $s2
+ $s2 = $s6
+ $s5 = $s7
+ $s7 = LtS($s2 $s5 )
+ $s5 = $s7
+ if0 $s5 goto :if41_else
+if41_body:
+ $s4 = 0
+ goto :if41_end
+if41_else:
+ $s5 = $s6
+ $s6 = $s3
+ $s3 = LtS($s5 $s6 )
+ $s6 = Eq($s3 0 )
+ $s3 = $s6
+ if0 $s3 goto :if45_else
+if45_body:
+ $s4 = 0
+ goto :if45_end
+if45_else:
+ $s4 = 1
+if45_end:
+if41_end:
+ $s3 = $s4
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ [$s7+48] = 1
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_InitNew [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = $a3
+ [$s5+48] = $s4
+ [$s5+40] = $s6
+ [$s5+44] = $s7
+ $s5 = 1
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_Insert [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s6 = HeapAllocZ(52 )
+ [$s6+0] = :functable_List
+ $s4 = $s6
+ $s4 = $s4
+ $s6 = [$s4+0]
+ $s3 = [$s6+4]
+ $s6 = $s7
+ $s7 = $s5
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s6
+ $a2 = $s7
+ $a3 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s5 = $s4
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_SetNext [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+44] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_Delete [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s4 = 0
+ $s3 = 0
+ $s2 = 1
+ $s1 = Sub($s3 $s2 )
+ $s2 = $s1
+ $s1 = $s6
+ $s3 = $s6
+ $s0 = [$s6+48]
+ $t7 = [$s6+40]
+while65_test:
+ $s6 = Eq($s0 0 )
+ $t6 = $s6
+ $s6 = Eq($s4 0 )
+ $t5 = $s6
+ $s6 = Eq(1 $t6 )
+ $t6 = Eq(1 $t5 )
+ $t5 = Eq($s6 $t6 )
+ $t6 = $t5
+ if0 $t6 goto :while65_end
+while65_body:
+ $s7 = $s7
+ $t6 = [$s7+0]
+ $t5 = [$t6+16]
+ $t6 = $t7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $t6
+ call $t5
+ $s6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t6 = $s6
+ if0 $t6 goto :if74_else
+if74_body:
+ $s4 = 1
+ $t6 = $s2
+ $s6 = 0
+ $t5 = LtS($t6 $s6 )
+ $s6 = $t5
+ if0 $s6 goto :if79_else
+if79_body:
+ $s1 = $s1
+ $s6 = [$s1+0]
+ $t5 = [$s6+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s1
+ call $t5
+ $s6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s6
+ goto :if79_end
+if79_else:
+ $s6 = 0
+ $t5 = 555
+ $t6 = Sub($s6 $t5 )
+ $t5 = $t6
+ PrintIntS($t5 )
+ $s3 = $s3
+ $t5 = [$s3+0]
+ $t6 = [$t5+12]
+ $s1 = $s1
+ $t5 = [$s1+0]
+ $s6 = [$t5+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s1
+ call $s6
+ $t5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $t5
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s3
+ $a1 = $s6
+ call $t6
+ $t5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $t5
+ $s6 = 0
+ $t5 = 555
+ $t6 = Sub($s6 $t5 )
+ $t5 = $t6
+ PrintIntS($t5 )
+if79_end:
+ goto :if74_end
+if74_else:
+ $t5 = 0
+if74_end:
+ $t6 = Eq($s4 0 )
+ $s4 = $t6
+ if0 $s4 goto :if101_else
+if101_body:
+ $s3 = $s1
+ $s1 = $s1
+ $s3 = [$s1+0]
+ $s4 = [$s3+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s1 = $s1
+ $s3 = [$s1+0]
+ $s4 = [$s3+24]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s0 = $s3
+ $s1 = $s1
+ $s3 = [$s1+0]
+ $s0 = [$s3+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s1
+ call $s0
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t7 = $s3
+ $s2 = 1
+ goto :if101_end
+if101_else:
+ $t5 = 0
+if101_end:
+ goto :while65_test
+while65_end:
+ $t5 = $s5
+ $v0 = $t5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_Search [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = 0
+ $s4 = $s6
+ $s3 = [$s6+48]
+ $s2 = [$s6+40]
+while113_test:
+ $s6 = Eq($s3 0 )
+ $s1 = $s6
+ if0 $s1 goto :while113_end
+while113_body:
+ $s7 = $s7
+ $s1 = [$s7+0]
+ $s6 = [$s1+16]
+ $s1 = $s2
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s1
+ call $s6
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s0
+ if0 $s1 goto :if116_else
+if116_body:
+ $s5 = 1
+ goto :if116_end
+if116_else:
+ $s1 = 0
+if116_end:
+ $s4 = $s4
+ $s1 = [$s4+0]
+ $s0 = [$s1+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s1
+ $s4 = $s4
+ $s1 = [$s4+0]
+ $s0 = [$s1+24]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s1
+ $s4 = $s4
+ $s1 = [$s4+0]
+ $s3 = [$s1+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :while113_test
+while113_end:
+ $s1 = $s5
+ $v0 = $s1
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_GetEnd [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+48]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_GetElem [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+40]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_GetNext [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+44]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func List_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = $s7
+ $s5 = [$s7+48]
+ $s4 = [$s7+40]
+while134_test:
+ $s7 = Eq($s5 0 )
+ $s3 = $s7
+ if0 $s3 goto :while134_end
+while134_body:
+ $s4 = $s4
+ $s3 = [$s4+0]
+ $s7 = [$s3+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ call $s7
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s3
+ PrintIntS($s7 )
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s3 = [$s7+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s3 = [$s7+24]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s5 = [$s7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ goto :while134_test
+while134_end:
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func LL_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = HeapAllocZ(52 )
+ [$s6+0] = :functable_List
+ $s7 = $s6
+ $s7 = $s7
+ $s6 = [$s7+0]
+ $s5 = [$s6+0]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s6
+ $s6 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s4 = [$s7+0]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s4
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s4 = [$s7+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s4
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ $s7 = HeapAllocZ(36 )
+ [$s7+0] = :functable_Element
+ $s4 = $s7
+ $s4 = $s4
+ $s7 = [$s4+0]
+ $s3 = [$s7+0]
+ $s7 = 25
+ $s2 = 37000
+ $s1 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s7
+ $a2 = $s2
+ $a3 = $s1
+ call $s3
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s0
+ $s6 = $s6
+ $s0 = [$s6+0]
+ $s1 = [$s0+8]
+ $s0 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s0
+ call $s1
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s2
+ $s6 = $s6
+ $s2 = [$s6+0]
+ $s0 = [$s2+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s0
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s2 = 10000000
+ PrintIntS($s2 )
+ $s2 = HeapAllocZ(36 )
+ [$s2+0] = :functable_Element
+ $s4 = $s2
+ $s4 = $s4
+ $s2 = [$s4+0]
+ $s0 = [$s2+0]
+ $s2 = 39
+ $s1 = 42000
+ $s7 = 1
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s2
+ $a2 = $s1
+ $a3 = $s7
+ call $s0
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s3
+ $s3 = $s4
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s1 = [$s7+8]
+ $s7 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s1
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s2
+ $s6 = $s6
+ $s2 = [$s6+0]
+ $s7 = [$s2+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s2 = 10000000
+ PrintIntS($s2 )
+ $s2 = HeapAllocZ(36 )
+ [$s2+0] = :functable_Element
+ $s4 = $s2
+ $s4 = $s4
+ $s2 = [$s4+0]
+ $s7 = [$s2+0]
+ $s2 = 22
+ $s1 = 34000
+ $s0 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s2
+ $a2 = $s1
+ $a3 = $s0
+ call $s7
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $t7
+ $s6 = $s6
+ $t7 = [$s6+0]
+ $s0 = [$t7+8]
+ $t7 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t7
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s1
+ $s6 = $s6
+ $s1 = [$s6+0]
+ $t7 = [$s1+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $t7
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s1
+ $s1 = HeapAllocZ(36 )
+ [$s1+0] = :functable_Element
+ $t7 = $s1
+ $t7 = $t7
+ $s1 = [$t7+0]
+ $s0 = [$s1+0]
+ $s1 = 27
+ $s2 = 34000
+ $s7 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $t7
+ $a1 = $s1
+ $a2 = $s2
+ $a3 = $s7
+ call $s0
+ $t6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $t6
+ $s6 = $s6
+ $t6 = [$s6+0]
+ $s7 = [$t6+20]
+ $t6 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t6
+ call $s7
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t6 = $s2
+ PrintIntS($t6 )
+ $s6 = $s6
+ $t6 = [$s6+0]
+ $s2 = [$t6+20]
+ $t6 = $t7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t6
+ call $s2
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t6 = $t7
+ PrintIntS($t6 )
+ $t6 = 10000000
+ PrintIntS($t6 )
+ $t6 = HeapAllocZ(36 )
+ [$t6+0] = :functable_Element
+ $s4 = $t6
+ $s4 = $s4
+ $t6 = [$s4+0]
+ $t7 = [$t6+0]
+ $t6 = 28
+ $s2 = 35000
+ $s7 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $t6
+ $a2 = $s2
+ $a3 = $s7
+ call $t7
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s1
+ $s6 = $s6
+ $s1 = [$s6+0]
+ $s7 = [$s1+8]
+ $s1 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s1
+ call $s7
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s2
+ $s6 = $s6
+ $s2 = [$s6+0]
+ $s1 = [$s2+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s1
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s2 = 2220000
+ PrintIntS($s2 )
+ $s6 = $s6
+ $s2 = [$s6+0]
+ $s1 = [$s2+16]
+ $s2 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s2 = [$s3+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s3
+ $s3 = 33300000
+ PrintIntS($s3 )
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s2 = [$s3+16]
+ $s3 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s2
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s6 = $s6
+ $s4 = [$s6+0]
+ $s3 = [$s4+36]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+ $s4 = 44440000
+ PrintIntS($s4 )
+ $s4 = 0
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
diff --git a/output/QuickSort.vaporm b/output/QuickSort.vaporm
index e69de29..3338b43 100644
--- a/output/QuickSort.vaporm
+++ b/output/QuickSort.vaporm
@@ -0,0 +1,576 @@
+const functable_QS
+ :QS_Start
+ :QS_Sort
+ :QS_Print
+ :QS_Init
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(24 )
+ [$s7+0] = :functable_QS
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ $s7 = 10
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s4
+ PrintIntS($s7 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func QS_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = [$s6+0]
+ $s4 = $s7
+ $s5 = [$s5+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s7 = [$s6+0]
+ $s7 = [$s7+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ $s5 = 9999
+ PrintIntS($s5 )
+ $s5 = [$s6+20]
+ $s7 = 1
+ $s3 = Sub($s5 $s7 )
+ $s4 = $s3
+ $s3 = [$s6+0]
+ $s7 = 0
+ $s5 = $s4
+ $s3 = [$s3+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ $a2 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s2
+ $s2 = [$s6+0]
+ $s2 = [$s2+8]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s2
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ $s5 = 0
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func QS_Sort [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = 0
+ $s3 = $s6
+ $s2 = $s7
+ $s1 = LtS($s3 $s2 )
+ $s2 = $s1
+ if0 $s2 goto :if22_else
+if22_body:
+ $s2 = [$s5+16]
+ $s1 = MulS($s7 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s2 $s1 )
+ $s2 = [$s1+0]
+ $s1 = $s2
+ $s2 = $s6
+ $s3 = 1
+ $s0 = Sub($s2 $s3 )
+ $s3 = $s0
+ $s0 = $s7
+ $s2 = 1
+while32_test:
+ $t7 = $s2
+ if0 $t7 goto :while32_end
+while32_body:
+ $t7 = 1
+while34_test:
+ $t6 = $t7
+ if0 $t6 goto :while34_end
+while34_body:
+ $t6 = $s3
+ $t5 = 1
+ $t4 = Add($t6 $t5 )
+ $s3 = $t4
+ $t4 = [$s5+16]
+ $t5 = MulS($s3 4 )
+ $t5 = Add($t5 4 )
+ $t5 = Add($t4 $t5 )
+ $t4 = [$t5+0]
+ $t5 = $t4
+ $t4 = $t5
+ $t6 = $s1
+ $t3 = LtS($t4 $t6 )
+ $t6 = Eq($t3 0 )
+ $t3 = $t6
+ if0 $t3 goto :if42_else
+if42_body:
+ $t7 = 0
+ goto :if42_end
+if42_else:
+ $t7 = 1
+if42_end:
+ goto :while34_test
+while34_end:
+ $t7 = 1
+while47_test:
+ $t3 = $t7
+ if0 $t3 goto :while47_end
+while47_body:
+ $t3 = $s0
+ $t6 = 1
+ $t4 = Sub($t3 $t6 )
+ $s0 = $t4
+ $t4 = [$s5+16]
+ $t6 = MulS($s0 4 )
+ $t6 = Add($t6 4 )
+ $t6 = Add($t4 $t6 )
+ $t4 = [$t6+0]
+ $t5 = $t4
+ $t4 = $s1
+ $s1 = $t5
+ $t5 = LtS($t4 $s1 )
+ $s1 = Eq($t5 0 )
+ $t5 = $s1
+ if0 $t5 goto :if55_else
+if55_body:
+ $t7 = 0
+ goto :if55_end
+if55_else:
+ $t7 = 1
+if55_end:
+ goto :while47_test
+while47_end:
+ $t7 = [$s5+16]
+ $t5 = MulS($s3 4 )
+ $t5 = Add($t5 4 )
+ $t5 = Add($t7 $t5 )
+ $t7 = [$t5+0]
+ $s4 = $t7
+ $t7 = [$s5+16]
+ $t5 = MulS($s3 4 )
+ $t5 = Add($t5 4 )
+ $t5 = Add($t7 $t5 )
+ $t7 = [$s5+16]
+ $s1 = MulS($s0 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($t7 $s1 )
+ $t7 = [$s1+0]
+ [$t5+0] = $t7
+ $t7 = [$s5+16]
+ $t5 = MulS($s0 4 )
+ $t5 = Add($t5 4 )
+ $t5 = Add($t7 $t5 )
+ [$t5+0] = $s4
+ $t5 = $s0
+ $t7 = $s3
+ $s1 = 1
+ $t4 = Add($t7 $s1 )
+ $s1 = $t4
+ $t4 = LtS($t5 $s1 )
+ $s1 = $t4
+ if0 $s1 goto :if70_else
+if70_body:
+ $s2 = 0
+ goto :if70_end
+if70_else:
+ $s2 = 1
+if70_end:
+ goto :while32_test
+while32_end:
+ $s2 = [$s5+16]
+ $s1 = MulS($s0 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s2 $s1 )
+ $s2 = [$s5+16]
+ $s0 = MulS($s3 4 )
+ $s0 = Add($s0 4 )
+ $s0 = Add($s2 $s0 )
+ $s2 = [$s0+0]
+ [$s1+0] = $s2
+ $s2 = [$s5+16]
+ $s1 = MulS($s3 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s2 $s1 )
+ $s2 = [$s5+16]
+ $s0 = MulS($s7 4 )
+ $s0 = Add($s0 4 )
+ $s0 = Add($s2 $s0 )
+ $s2 = [$s0+0]
+ [$s1+0] = $s2
+ $s2 = [$s5+16]
+ $s1 = MulS($s7 4 )
+ $s1 = Add($s1 4 )
+ $s1 = Add($s2 $s1 )
+ [$s1+0] = $s4
+ $s1 = [$s5+0]
+ $s4 = $s3
+ $s2 = 1
+ $s0 = Sub($s4 $s2 )
+ $s4 = $s6
+ $s4 = $s0
+ $s1 = [$s1+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s2
+ $a2 = $s4
+ call $s1
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s0
+ $s0 = [$s5+0]
+ $s2 = $s3
+ $s3 = 1
+ $s1 = Add($s2 $s3 )
+ $s3 = $s1
+ $s1 = $s7
+ $s0 = [$s0+4]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s3
+ $a2 = $s1
+ call $s0
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ goto :if22_end
+if22_else:
+ $s4 = 0
+if22_end:
+ $s4 = 0
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func QS_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = 0
+while104_test:
+ $s5 = $s7
+ $s4 = [$s6+20]
+ $s3 = LtS($s5 $s4 )
+ $s4 = $s3
+ if0 $s4 goto :while104_end
+while104_body:
+ $s4 = [$s6+16]
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s4 $s6 )
+ $s4 = [$s6+0]
+ $s6 = $s4
+ PrintIntS($s6 )
+ $s6 = $s7
+ $s4 = 1
+ $s3 = Add($s6 $s4 )
+ $s7 = $s3
+ goto :while104_test
+while104_end:
+ $s3 = 0
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func QS_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+20] = $s7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call :AllocArray
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+16] = $s5
+ $s5 = [$s6+16]
+ $s7 = MulS(0 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 20
+ $s7 = [$s6+16]
+ $s5 = MulS(1 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 7
+ $s5 = [$s6+16]
+ $s7 = MulS(2 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 12
+ $s7 = [$s6+16]
+ $s5 = MulS(3 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 18
+ $s5 = [$s6+16]
+ $s7 = MulS(4 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 2
+ $s7 = [$s6+16]
+ $s5 = MulS(5 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 11
+ $s5 = [$s6+16]
+ $s7 = MulS(6 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 6
+ $s7 = [$s6+16]
+ $s5 = MulS(7 4 )
+ $s5 = Add($s5 4 )
+ $s5 = Add($s7 $s5 )
+ [$s5+0] = 9
+ $s5 = [$s6+16]
+ $s7 = MulS(8 4 )
+ $s7 = Add($s7 4 )
+ $s7 = Add($s5 $s7 )
+ [$s7+0] = 19
+ $s7 = [$s6+16]
+ $s6 = MulS(9 4 )
+ $s6 = Add($s6 4 )
+ $s6 = Add($s7 $s6 )
+ [$s6+0] = 5
+ $s6 = 0
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
diff --git a/output/TreeVisitor.vaporm b/output/TreeVisitor.vaporm
index e69de29..9a2c5f3 100644
--- a/output/TreeVisitor.vaporm
+++ b/output/TreeVisitor.vaporm
@@ -0,0 +1,3242 @@
+const functable_TV
+ :TV_Start
+const functable_Tree
+ :Tree_Init
+ :Tree_SetRight
+ :Tree_SetLeft
+ :Tree_GetRight
+ :Tree_GetLeft
+ :Tree_GetKey
+ :Tree_SetKey
+ :Tree_GetHas_Right
+ :Tree_GetHas_Left
+ :Tree_SetHas_Left
+ :Tree_SetHas_Right
+ :Tree_Compare
+ :Tree_Insert
+ :Tree_Delete
+ :Tree_Remove
+ :Tree_RemoveRight
+ :Tree_RemoveLeft
+ :Tree_Search
+ :Tree_Print
+ :Tree_RecPrint
+ :Tree_accept
+const functable_Visitor
+ :Visitor_visit
+const functable_MyVisitor
+ :MyVisitor_visit
+ :Visitor_visit
+func Main [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = HeapAllocZ(4 )
+ [$s7+0] = :functable_TV
+ $s6 = $s7
+ $s7 = [$s6+0]
+ $s5 = [$s7+0]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ PrintIntS($s5 )
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func TV_Start [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = HeapAllocZ(108 )
+ [$s6+0] = :functable_Tree
+ $s7 = $s6
+ $s7 = $s7
+ $s6 = [$s7+0]
+ $s5 = [$s6+0]
+ $s6 = 16
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s6
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s4 = 100000000
+ PrintIntS($s4 )
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 8
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+48]
+ $s3 = 24
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s5
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+48]
+ $s5 = 4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s5
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+48]
+ $s3 = 20
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s5
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+48]
+ $s5 = 28
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s5
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+48]
+ $s4 = 14
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s5
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s3
+ $s3 = 100000000
+ PrintIntS($s3 )
+ $s3 = HeapAllocZ(16 )
+ [$s3+0] = :functable_MyVisitor
+ $s4 = $s3
+ $s3 = 50000000
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+80]
+ $s3 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ $s3 = 100000000
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 24
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+68]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 16
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+68]
+ $s3 = 50
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+68]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s5 = [$s3+52]
+ $s3 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s3
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+72]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s6 = $s4
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s6 = [$s4+68]
+ $s4 = 12
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s4
+ call $s6
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s3
+ PrintIntS($s4 )
+ $s4 = 0
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Init [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+92] = $s7
+ [$s6+96] = 0
+ [$s6+100] = 0
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+88] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+84] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+88]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+84]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetKey [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+92]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetKey [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+92] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetHas_Right [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+100]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_GetHas_Left [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = [$s6+96]
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetHas_Left [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+96] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_SetHas_Right [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ [$s6+100] = $s7
+ $s6 = 1
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Compare [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s4 = 0
+ $s5 = $s7
+ $s3 = 1
+ $s2 = Add($s5 $s3 )
+ $s3 = $s2
+ $s2 = $s6
+ $s5 = $s7
+ $s7 = LtS($s2 $s5 )
+ $s5 = $s7
+ if0 $s5 goto :if105_else
+if105_body:
+ $s4 = 0
+ goto :if105_end
+if105_else:
+ $s5 = $s6
+ $s6 = $s3
+ $s3 = LtS($s5 $s6 )
+ $s6 = Eq($s3 0 )
+ $s3 = $s6
+ if0 $s3 goto :if109_else
+if109_body:
+ $s4 = 0
+ goto :if109_end
+if109_else:
+ $s4 = 1
+if109_end:
+if105_end:
+ $s3 = $s4
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Insert [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = HeapAllocZ(108 )
+ [$s5+0] = :functable_Tree
+ $s4 = $s5
+ $s4 = $s4
+ $s5 = [$s4+0]
+ $s3 = [$s5+0]
+ $s5 = $s7
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ $s2 = $s6
+ $s6 = 1
+while120_test:
+ $s3 = $s6
+ if0 $s3 goto :while120_end
+while120_body:
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s3 = $s7
+ $s7 = $s1
+ $s1 = LtS($s3 $s7 )
+ $s7 = $s1
+ if0 $s7 goto :if125_else
+if125_body:
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s1 = [$s7+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ if0 $s1 goto :if129_else
+if129_body:
+ $s2 = $s2
+ $s1 = [$s2+0]
+ $s7 = [$s1+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s7
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if129_end
+if129_else:
+ $s6 = 0
+ $s2 = $s2
+ $s1 = [$s2+0]
+ $s7 = [$s1+36]
+ $s1 = 1
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s1
+ call $s7
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s3
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s1 = [$s3+8]
+ $s3 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s3
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+if129_end:
+ goto :if125_end
+if125_else:
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s3 = [$s7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s7
+ if0 $s3 goto :if144_else
+if144_body:
+ $s2 = $s2
+ $s3 = [$s2+0]
+ $s7 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s7
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ goto :if144_end
+if144_else:
+ $s6 = 0
+ $s2 = $s2
+ $s6 = [$s2+0]
+ $s3 = [$s6+40]
+ $s6 = 1
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s6
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ $s2 = $s2
+ $s7 = [$s2+0]
+ $s6 = [$s7+4]
+ $s7 = $s4
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s7
+ call $s6
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+if144_end:
+if125_end:
+ goto :while120_test
+while120_end:
+ $s4 = 1
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Delete [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s4 = $s6
+ $s3 = 1
+ $s2 = 0
+ $s1 = 1
+while160_test:
+ $s0 = $s3
+ if0 $s0 goto :while160_end
+while160_body:
+ $s5 = $s5
+ $s0 = [$s5+0]
+ $t7 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t7 = $s0
+ $s0 = $s7
+ $t6 = $t7
+ $t5 = LtS($s0 $t6 )
+ $t6 = $t5
+ if0 $t6 goto :if165_else
+if165_body:
+ $s5 = $s5
+ $t6 = [$s5+0]
+ $t5 = [$t6+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t5
+ $t6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t5 = $t6
+ if0 $t5 goto :if169_else
+if169_body:
+ $s4 = $s5
+ $s5 = $s5
+ $t5 = [$s5+0]
+ $t6 = [$t5+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t6
+ $t5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $t5
+ goto :if169_end
+if169_else:
+ $s3 = 0
+if169_end:
+ goto :if165_end
+if165_else:
+ $t5 = $t7
+ $t7 = $s7
+ $s7 = LtS($t5 $t7 )
+ $t7 = $s7
+ if0 $t7 goto :if176_else
+if176_body:
+ $s5 = $s5
+ $t7 = [$s5+0]
+ $s7 = [$t7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s7
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $t7
+ if0 $s7 goto :if180_else
+if180_body:
+ $s4 = $s5
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $t7 = [$s7+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ goto :if180_end
+if180_else:
+ $s3 = 0
+if180_end:
+ goto :if176_end
+if176_else:
+ $s7 = $s1
+ if0 $s7 goto :if187_else
+if187_body:
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $t7 = [$s7+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t7
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t7 = Eq($s7 0 )
+ $s7 = $t7
+ $s5 = $s5
+ $t7 = [$s5+0]
+ $t5 = [$t7+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $t5
+ $t7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $t5 = Eq($t7 0 )
+ $t7 = $t5
+ $t5 = Eq(1 $s7 )
+ $s7 = Eq(1 $t7 )
+ $t7 = Eq($t5 $s7 )
+ $s7 = $t7
+ if0 $s7 goto :if188_else
+if188_body:
+ $s7 = 1
+ goto :if188_end
+if188_else:
+ $t7 = [$s6+0]
+ $t5 = $s4
+ $t6 = $s5
+ $t7 = [$t7+56]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t5
+ $a2 = $t6
+ call $t7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s0
+if188_end:
+ goto :if187_end
+if187_else:
+ $s0 = [$s6+0]
+ $t6 = $s4
+ $s4 = $s5
+ $s0 = [$s0+56]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $t6
+ $a2 = $s4
+ call $s0
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s5
+if187_end:
+ $s2 = 1
+ $s3 = 0
+if176_end:
+if165_end:
+ $s1 = 0
+ goto :while160_test
+while160_end:
+ $s1 = $s2
+ $v0 = $s1
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Remove [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :if211_else
+if211_body:
+ $s3 = [$s5+0]
+ $s4 = $s6
+ $s2 = $s7
+ $s3 = [$s3+64]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s4
+ $a2 = $s2
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if211_end
+if211_else:
+ $s7 = $s7
+ $s1 = [$s7+0]
+ $s4 = [$s1+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s1
+ if0 $s4 goto :if219_else
+if219_body:
+ $s4 = [$s5+0]
+ $s1 = $s6
+ $s3 = $s7
+ $s4 = [$s4+60]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s1
+ $a2 = $s3
+ call $s4
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s0
+ goto :if219_end
+if219_else:
+ $s7 = $s7
+ $s0 = [$s7+0]
+ $s3 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s0
+ $s6 = $s6
+ $s0 = [$s6+0]
+ $s7 = [$s0+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ call $s7
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s0
+ $s0 = [$s7+0]
+ $s1 = [$s0+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s1
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s0
+ $s0 = [$s5+0]
+ $s7 = $s3
+ $s3 = $s1
+ $s0 = [$s0+44]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ $a1 = $s7
+ $a2 = $s3
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s1
+ if0 $s3 goto :if237_else
+if237_body:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s1 = [$s3+8]
+ $s3 = [$s5+104]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s7
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s3 = [$s7+36]
+ $s7 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s3
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s1
+ goto :if237_end
+if237_else:
+ $s6 = $s6
+ $s1 = [$s6+0]
+ $s7 = [$s1+4]
+ $s1 = [$s5+104]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s1
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s1 = [$s5+40]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s1
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s7
+if237_end:
+if219_end:
+if211_end:
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RemoveRight [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+while259_test:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :while259_end
+while259_body:
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+24]
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s6 = $s7
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s3
+ goto :while259_test
+while259_end:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s7 = [$s3+4]
+ $s3 = [$s5+104]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s3 = [$s5+40]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RemoveLeft [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = $a2
+while287_test:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s3 = [$s4+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ if0 $s3 goto :while287_end
+while287_body:
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+24]
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = [$s2+0]
+ $s1 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ call $s1
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ $a1 = $s1
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s3
+ $s6 = $s7
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s4 = [$s3+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s3
+ goto :while287_test
+while287_end:
+ $s6 = $s6
+ $s3 = [$s6+0]
+ $s7 = [$s3+8]
+ $s3 = [$s5+104]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s7
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s5
+ $s6 = $s6
+ $s5 = [$s6+0]
+ $s3 = [$s5+36]
+ $s5 = 0
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s5
+ call $s3
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s1 = $s7
+ $s7 = 1
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Search [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s5 = $s6
+ $s6 = 1
+ $s4 = 0
+while315_test:
+ $s3 = $s6
+ if0 $s3 goto :while315_end
+while315_body:
+ $s5 = $s5
+ $s3 = [$s5+0]
+ $s2 = [$s3+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ $s3 = $s7
+ $s1 = $s2
+ $s0 = LtS($s3 $s1 )
+ $s1 = $s0
+ if0 $s1 goto :if320_else
+if320_body:
+ $s5 = $s5
+ $s1 = [$s5+0]
+ $s0 = [$s1+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s0
+ $s1 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s0 = $s1
+ if0 $s0 goto :if324_else
+if324_body:
+ $s5 = $s5
+ $s0 = [$s5+0]
+ $s1 = [$s0+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s1
+ $s0 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s0
+ goto :if324_end
+if324_else:
+ $s6 = 0
+if324_end:
+ goto :if320_end
+if320_else:
+ $s0 = $s2
+ $s2 = $s7
+ $s7 = LtS($s0 $s2 )
+ $s2 = $s7
+ if0 $s2 goto :if331_else
+if331_body:
+ $s5 = $s5
+ $s2 = [$s5+0]
+ $s7 = [$s2+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s7
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s2
+ if0 $s7 goto :if335_else
+if335_body:
+ $s5 = $s5
+ $s7 = [$s5+0]
+ $s2 = [$s7+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s5
+ call $s2
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s7
+ goto :if335_end
+if335_else:
+ $s6 = 0
+if335_end:
+ goto :if331_end
+if331_else:
+ $s4 = 1
+ $s6 = 0
+if331_end:
+if320_end:
+ goto :while315_test
+while315_end:
+ $s6 = $s4
+ $v0 = $s6
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_Print [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $s6
+ $s5 = [$s6+0]
+ $s4 = $s7
+ $s5 = [$s5+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s4
+ call $s5
+ $s7 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s7
+ $s4 = 1
+ $v0 = $s4
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_RecPrint [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ if0 $s4 goto :if347_else
+if347_body:
+ $s4 = [$s6+0]
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s3 = [$s5+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ $s4 = [$s4+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s3
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s5
+ goto :if347_end
+if347_else:
+ $s3 = 1
+if347_end:
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ PrintIntS($s4 )
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s4
+ if0 $s5 goto :if361_else
+if361_body:
+ $s5 = [$s6+0]
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s2 = [$s4+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s4
+ $s5 = [$s5+76]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s2
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s4
+ goto :if361_end
+if361_else:
+ $s3 = 1
+if361_end:
+ $s3 = 1
+ $v0 = $s3
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Tree_accept [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s5 = $a0
+ $s6 = $a1
+ $s7 = 333
+ PrintIntS($s7 )
+ $s6 = $s6
+ $s7 = [$s6+0]
+ $s4 = [$s7+0]
+ $s7 = $s5
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s6
+ $a1 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s7 = $s5
+ $s7 = 0
+ $v0 = $s7
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func Visitor_visit [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ if0 $s4 goto :if378_else
+if378_body:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+8] = $s4
+ $s4 = [$s6+8]
+ $s5 = [$s4+0]
+ $s3 = [$s5+80]
+ $s5 = $s6
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ goto :if378_end
+if378_else:
+ $s5 = 0
+if378_end:
+ $s7 = $s7
+ $s2 = [$s7+0]
+ $s3 = [$s2+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s2
+ if0 $s3 goto :if389_else
+if389_body:
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+4] = $s3
+ $s3 = [$s6+4]
+ $s2 = [$s3+0]
+ $s7 = [$s2+80]
+ $s2 = $s6
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s3
+ $a1 = $s2
+ call $s7
+ $s6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s6
+ goto :if389_end
+if389_else:
+ $s5 = 0
+if389_end:
+ $s5 = 0
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func MyVisitor_visit [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s6 = $a0
+ $s7 = $a1
+ $s7 = $s7
+ $s5 = [$s7+0]
+ $s4 = [$s5+28]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s4
+ $s5 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s4 = $s5
+ if0 $s4 goto :if401_else
+if401_body:
+ $s7 = $s7
+ $s4 = [$s7+0]
+ $s5 = [$s4+12]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s5
+ $s4 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+12] = $s4
+ $s4 = [$s6+12]
+ $s5 = [$s4+0]
+ $s3 = [$s5+80]
+ $s5 = $s6
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s4
+ $a1 = $s5
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s2
+ goto :if401_end
+if401_else:
+ $s5 = 0
+if401_end:
+ $s7 = $s7
+ $s2 = [$s7+0]
+ $s3 = [$s2+20]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s3 = $s2
+ PrintIntS($s3 )
+ $s7 = $s7
+ $s3 = [$s7+0]
+ $s2 = [$s3+32]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s2
+ $s3 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s2 = $s3
+ if0 $s2 goto :if416_else
+if416_body:
+ $s7 = $s7
+ $s2 = [$s7+0]
+ $s3 = [$s2+16]
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s7
+ call $s3
+ $s2 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ [$s6+8] = $s2
+ $s2 = [$s6+8]
+ $s3 = [$s2+0]
+ $s7 = [$s3+80]
+ $s3 = $s6
+ local[8] = $t0
+ local[9] = $t1
+ local[10] = $t2
+ local[11] = $t3
+ local[12] = $t4
+ local[13] = $t5
+ local[14] = $t6
+ local[15] = $t7
+ local[16] = $t8
+ $a0 = $s2
+ $a1 = $s3
+ call $s7
+ $s6 = $v0
+ $t0 = local[8]
+ $t1 = local[9]
+ $t2 = local[10]
+ $t3 = local[11]
+ $t4 = local[12]
+ $t5 = local[13]
+ $t6 = local[14]
+ $t7 = local[15]
+ $t8 = local[16]
+ $s5 = $s6
+ goto :if416_end
+if416_else:
+ $s5 = 0
+if416_end:
+ $s5 = 0
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret
+func AllocArray [in 0, out 0, local 17]
+ local[0] = $s0
+ local[1] = $s1
+ local[2] = $s2
+ local[3] = $s3
+ local[4] = $s4
+ local[5] = $s5
+ local[6] = $s6
+ local[7] = $s7
+ $s7 = $a0
+ $s6 = MulS($s7 4 )
+ $s6 = Add($s6 4 )
+ $s5 = HeapAllocZ($s6 )
+ [$s5+0] = $s7
+ $v0 = $s5
+ $s0 = local[0]
+ $s1 = local[1]
+ $s2 = local[2]
+ $s3 = local[3]
+ $s4 = local[4]
+ $s5 = local[5]
+ $s6 = local[6]
+ $s7 = local[7]
+ ret