diff options
31 files changed, 1444 insertions, 7910 deletions
diff --git a/output/BinaryTree.vaporm b/output/BinaryTree.vaporm index c622fd9..e69de29 100644 --- a/output/BinaryTree.vaporm +++ b/output/BinaryTree.vaporm @@ -1,2772 +0,0 @@ -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 - $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 = $v0 - $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 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+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 - $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 = $v0 - $s6 = $s6 - $s6 = 100000000 - PrintIntS($s6 ) - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+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 $s6 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+48] - $s5 = 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 = $s5 - call $s6 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s4 = [$s7+0] - $s5 = [$s4+48] - $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 = $s7 - $a1 = $s4 - call $s5 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+48] - $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 - $a1 = $s5 - call $s6 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s4 = [$s7+0] - $s5 = [$s4+48] - $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 - $a1 = $s4 - call $s5 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+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 $s6 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $s5 = 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 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+68] - $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 = $s7 - $a1 = $s5 - call $s4 - $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 = $v0 - $s5 = $s6 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $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 - $a1 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+68] - $s5 = 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 = $s5 - call $s4 - $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 = $v0 - $s5 = $s6 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $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 = $s7 - $a1 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+52] - $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 = $s7 - $a1 = $s5 - call $s4 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s5 = [$s6+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 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s5 = [$s6+68] - $s6 = 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 = $s6 - call $s5 - $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 = $v0 - $s6 = $s4 - PrintIntS($s6 ) - $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 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 29] - 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 - $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 = $v0 - $s5 = $s2 - $s5 = $s6 - $s6 = 1 -while115_test: - $s2 = $s6 - if0 $s2 goto :while115_end -while115_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s2 = $t5 - null = $s7 - null = $s2 - $s2 = LtS(null null ) - null = $s2 - if0 null goto :if120_else -if120_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s2 = $t7 - if0 $s2 goto :if124_else -if124_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s5 = $s3 - goto :if124_end -if124_else: - $s6 = 0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+36] - $s2 = 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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $s0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+8] - $s2 = $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 = $s5 - $a1 = $s2 - call null - $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] - $t3 = $v0 - $s5 = $t3 -if124_end: - goto :if120_end -if120_else: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 null - $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] - $t4 = $v0 - $s2 = $t4 - if0 $s2 goto :if139_else -if139_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+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 null - $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 = $v0 - $s5 = $s2 - goto :if139_end -if139_else: - $s6 = 0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+40] - $s2 = 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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $t6 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+4] - $s2 = $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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $s1 -if139_end: -if120_end: - goto :while115_test -while115_end: - $t3 = 1 - $v0 = $t3 - $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 44] - 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] - null = [$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 null - $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 = $v0 - $s0 = $t5 - null = $s7 - null = $s0 - null = LtS(null null ) - null = null - if0 null goto :if160_else -if160_body: - $s5 = $s5 - null = [$s5+0] - null = [null+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 null - $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] - null = $v0 - null = null - if0 null goto :if164_else -if164_body: - $s4 = $s5 - $s5 = $s5 - null = [$s5+0] - null = [null+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 null - $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] - $t4 = $v0 - $s5 = $t4 - goto :if164_end -if164_else: - $s3 = 0 -if164_end: - goto :if160_end -if160_else: - null = $s0 - $s0 = $s7 - null = LtS(null $s0 ) - $s0 = null - if0 $s0 goto :if171_else -if171_body: - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - null = $s0 - if0 null goto :if175_else -if175_body: - $s4 = $s5 - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s5 = $s0 - goto :if175_end -if175_else: - $s3 = 0 -if175_end: - goto :if171_end -if171_else: - $s0 = $s1 - if0 $s0 goto :if182_else -if182_body: - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s0 = Eq($t6 0 ) - null = $s0 - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s0 = Eq($t7 0 ) - null = $s0 - $s0 = Eq(1 null ) - null = Eq(1 null ) - null = Eq($s0 null ) - $s0 = null - if0 $s0 goto :if183_else -if183_body: - $s0 = 1 - goto :if183_end -if183_else: - $s0 = [$s6+0] - null = $s4 - null = $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 = null - $a2 = null - call $s0 - $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] - $t3 = $v0 - $s0 = $t3 -if183_end: - goto :if182_end -if182_else: - $s0 = [$s6+0] - null = $s4 - null = $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 = null - $a2 = null - call $s0 - $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] - null = $v0 - $s0 = null -if182_end: - $s2 = 1 - $s3 = 0 -if171_end: -if160_end: - $s1 = 0 - goto :while155_test -while155_end: - $t3 = $s2 - $v0 = $t3 - $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 - $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 = $v0 - $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 - $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 = $v0 - $s2 = $s1 - goto :if206_end -if206_else: - $s7 = $s7 - $s2 = [$s7+0] - $s1 = [$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 = $s7 - call $s1 - $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 = $v0 - $s1 = $s2 - if0 $s1 goto :if214_else -if214_body: - $s1 = [$s5+0] - $s2 = $s6 - $s4 = $s7 - $s1 = [$s1+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 = $s2 - $a2 = $s4 - call $s1 - $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 = $v0 - $s2 = $s3 - goto :if214_end -if214_else: - $s7 = $s7 - $s3 = [$s7+0] - $s4 = [$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 - call $s4 - $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 = $v0 - $s4 = $s3 - $s6 = $s6 - $s3 = [$s6+0] - $s7 = [$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 = $s6 - call $s7 - $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 = $v0 - $s7 = $s3 - $s3 = [$s7+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 = $s7 - call $s2 - $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 = $v0 - $s2 = $s3 - $s3 = [$s5+0] - $s7 = $s4 - $s4 = $s2 - $s3 = [$s3+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 = $s4 - call $s3 - $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 = $v0 - $s4 = $s2 - if0 $s4 goto :if232_else -if232_body: - $s6 = $s6 - $s4 = [$s6+0] - $s2 = [$s4+8] - $s4 = [$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 = $s4 - call $s2 - $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 = $v0 - $s2 = $s7 - $s6 = $s6 - $s7 = [$s6+0] - $s4 = [$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 $s4 - $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 = $v0 - $s2 = $s2 - goto :if232_end -if232_else: - $s6 = $s6 - $s2 = [$s6+0] - $s7 = [$s2+4] - $s2 = [$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 = $s2 - call $s7 - $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 = $v0 - $s2 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s2 = [$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 $s2 - $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 = $v0 - $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 - $t7 = [$s7+0] - $t6 = [$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 = $s7 - call $t6 - $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 = $v0 - $t6 = $s1 - if0 $t6 goto :while254_end -while254_body: - $s7 = $s7 - $t6 = [$s7+0] - $t7 = [$t6+24] - $s7 = $s7 - $t6 = [$s7+0] - $t5 = [$t6+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 $t5 - $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 = $v0 - $t5 = $s3 - $t6 = [$t5+0] - $t4 = [$t6+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 = $t5 - call $t4 - $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 = $v0 - $t4 = $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 = $t4 - call $t7 - $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 = $v0 - $t4 = $s0 - $s6 = $s7 - $s7 = $s7 - $t4 = [$s7+0] - $t7 = [$t4+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 $t7 - $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 = $v0 - $s7 = $s2 - goto :while254_test -while254_end: - $s6 = $s6 - $s0 = [$s6+0] - $s1 = [$s0+4] - $s0 = [$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 = $s0 - call $s1 - $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 = $v0 - $t4 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s0 = [$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 $s0 - $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 = $v0 - $t4 = $s1 - $s1 = 1 - $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_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 - $t7 = [$s7+0] - $t6 = [$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 = $s7 - call $t6 - $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 = $v0 - $t6 = $s1 - if0 $t6 goto :while282_end -while282_body: - $s7 = $s7 - $t6 = [$s7+0] - $t7 = [$t6+24] - $s7 = $s7 - $t6 = [$s7+0] - $t5 = [$t6+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 $t5 - $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 = $v0 - $t5 = $s3 - $t6 = [$t5+0] - $t4 = [$t6+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 = $t5 - call $t4 - $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 = $v0 - $t4 = $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 = $t4 - call $t7 - $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 = $v0 - $t4 = $s0 - $s6 = $s7 - $s7 = $s7 - $t4 = [$s7+0] - $t7 = [$t4+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 $t7 - $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 = $v0 - $s7 = $s2 - goto :while282_test -while282_end: - $s6 = $s6 - $s0 = [$s6+0] - $s1 = [$s0+8] - $s0 = [$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 = $s0 - call $s1 - $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 = $v0 - $t4 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s0 = [$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 $s0 - $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 = $v0 - $t4 = $s1 - $s1 = 1 - $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_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] - $t7 = [$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 $t7 - $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 = $v0 - $t7 = $s0 - $s3 = $s7 - $t6 = $t7 - $t5 = LtS($s3 $t6 ) - $t6 = $t5 - if0 $t6 goto :if315_else -if315_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 - $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 = $v0 - $t5 = $s1 - if0 $t5 goto :if319_else -if319_body: - $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 - $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 = $v0 - $s5 = $s2 - goto :if319_end -if319_else: - $s6 = 0 -if319_end: - goto :if315_end -if315_else: - $t6 = $t7 - $t7 = $s7 - $t5 = LtS($t6 $t7 ) - $t7 = $t5 - if0 $t7 goto :if326_else -if326_body: - $s5 = $s5 - $t7 = [$s5+0] - $t5 = [$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 $t5 - $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 = $v0 - $t5 = $t7 - if0 $t5 goto :if330_else -if330_body: - $s5 = $s5 - $t5 = [$s5+0] - $t7 = [$t5+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 - $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 = $v0 - $s5 = $t5 - 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: - $s0 = $s4 - $v0 = $s0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $s3 = $s5 - goto :if342_end -if342_else: - $s3 = 1 -if342_end: - $s7 = $s7 - $s3 = [$s7+0] - $s5 = [$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 - call $s5 - $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 = $v0 - $s5 = $s3 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s3 = [$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 $s3 - $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 = $v0 - $s3 = $s5 - if0 $s3 goto :if356_else -if356_body: - $s3 = [$s6+0] - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$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 = $s7 - call $s4 - $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 = $v0 - $s4 = $s5 - $s3 = [$s3+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 $s3 - $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 = $v0 - $s3 = $s5 - goto :if356_end -if356_else: - $s3 = 1 -if356_end: - $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 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 aa6cb19..0e223d0 100644 --- a/output/BubbleSort.vaporm +++ b/output/BubbleSort.vaporm @@ -3,7 +3,7 @@ const functable_BBS :BBS_Sort :BBS_Print :BBS_Init -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,27 +18,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -51,7 +45,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func BBS_Start [in 0, out 0, local 17] +func BBS_Start [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -65,101 +59,77 @@ func BBS_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s4 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 $s4 = [$s6+0] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 $s7 = 99999 PrintIntS($s7 ) $s7 = [$s6+0] $s7 = [$s7+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s4 = $s4 $s4 = [$s6+0] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 $s7 = 0 @@ -173,7 +143,7 @@ func BBS_Start [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func BBS_Sort [in 0, out 0, local 17] +func BBS_Sort [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -283,7 +253,7 @@ while23_end: $s6 = local[6] $s7 = local[7] ret -func BBS_Print [in 0, out 0, local 17] +func BBS_Print [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -325,7 +295,7 @@ while69_end: $s6 = local[6] $s7 = local[7] ret -func BBS_Init [in 0, out 0, local 17] +func BBS_Init [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -337,26 +307,20 @@ func BBS_Init [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call :AllocArray - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 [$s6+16] = $s5 $s5 = [$s6+16] @@ -420,7 +384,7 @@ func BBS_Init [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/Factorial.vaporm b/output/Factorial.vaporm index 7c973e1..714dcb0 100644 --- a/output/Factorial.vaporm +++ b/output/Factorial.vaporm @@ -1,6 +1,6 @@ const functable_Fac :Fac_ComputeFac -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,27 +15,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -48,7 +42,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Fac_ComputeFac [in 0, out 0, local 17] +func Fac_ComputeFac [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -75,27 +69,21 @@ if6_else: $s1 = Sub($s2 $s7 ) $s7 = $s1 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s7 = $s1 $s1 = MulS($s3 $s7 ) @@ -112,7 +100,7 @@ if6_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/LinearSearch.vaporm b/output/LinearSearch.vaporm index 93a18d6..f1b48cf 100644 --- a/output/LinearSearch.vaporm +++ b/output/LinearSearch.vaporm @@ -3,7 +3,7 @@ const functable_LS :LS_Print :LS_Search :LS_Init -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,27 +18,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -51,7 +45,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func LS_Start [in 0, out 0, local 17] +func LS_Start [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -65,51 +59,39 @@ func LS_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s4 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 $s4 = 9999 @@ -117,108 +99,84 @@ func LS_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s5 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s4 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $s7 = $s5 PrintIntS($s7 ) @@ -233,7 +191,7 @@ func LS_Start [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func LS_Print [in 0, out 0, local 17] +func LS_Print [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -275,7 +233,7 @@ while29_end: $s6 = local[6] $s7 = local[7] ret -func LS_Search [in 0, out 0, local 17] +func LS_Search [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -347,7 +305,7 @@ while42_end: $s6 = local[6] $s7 = local[7] ret -func LS_Init [in 0, out 0, local 17] +func LS_Init [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -359,26 +317,20 @@ func LS_Init [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call :AllocArray - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 [$s6+16] = $s5 $s5 = 1 @@ -430,7 +382,7 @@ while70_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/LinkedList.vaporm b/output/LinkedList.vaporm index 7b480ea..d43ccb4 100644 --- a/output/LinkedList.vaporm +++ b/output/LinkedList.vaporm @@ -18,7 +18,7 @@ const functable_List :List_Print const functable_LL :LL_Start -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -32,26 +32,20 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -64,7 +58,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Element_Init [in 0, out 0, local 17] +func Element_Init [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -91,7 +85,7 @@ func Element_Init [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Element_GetAge [in 0, out 0, local 17] +func Element_GetAge [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -112,7 +106,7 @@ func Element_GetAge [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Element_GetSalary [in 0, out 0, local 17] +func Element_GetSalary [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -133,7 +127,7 @@ func Element_GetSalary [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Element_GetMarried [in 0, out 0, local 17] +func Element_GetMarried [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -154,7 +148,7 @@ func Element_GetMarried [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Element_Equal [in 0, out 0, local 17] +func Element_Equal [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -169,54 +163,42 @@ func Element_Equal [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s2 $a2 = $s3 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s3 = Eq($s1 0 ) $s1 = $s3 @@ -228,54 +210,42 @@ 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s2 $a2 = $s3 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s3 = Eq($s4 0 ) $s4 = $s3 @@ -290,26 +260,20 @@ 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s5 = Eq($s4 0 ) $s4 = $s5 @@ -325,26 +289,20 @@ if27_else: $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s5 = $s4 if0 $s5 goto :if33_else @@ -368,7 +326,7 @@ if12_end: $s6 = local[6] $s7 = local[7] ret -func Element_Compare [in 0, out 0, local 17] +func Element_Compare [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -418,7 +376,7 @@ if41_end: $s6 = local[6] $s7 = local[7] ret -func List_Init [in 0, out 0, local 17] +func List_Init [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -440,7 +398,7 @@ func List_Init [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_InitNew [in 0, out 0, local 17] +func List_InitNew [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -467,7 +425,7 @@ func List_InitNew [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_Insert [in 0, out 0, local 17] +func List_Insert [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -488,29 +446,23 @@ func List_Insert [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s4 $a1 = $s6 $a2 = $s7 $a3 = $s5 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s5 = $s2 $s5 = $s4 @@ -524,7 +476,7 @@ func List_Insert [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_SetNext [in 0, out 0, local 17] +func List_SetNext [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -547,7 +499,7 @@ func List_SetNext [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_Delete [in 0, out 0, local 38] +func List_Delete [in 0, out 0, local 35] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -570,225 +522,281 @@ func List_Delete [in 0, out 0, local 38] $t7 = [$s6+40] while65_test: $s6 = Eq($s0 0 ) - null = $s6 + $t0 = local[17] + $t0 = $s6 + local[17] = $t0 $s6 = Eq($s4 0 ) - null = $s6 - $s6 = Eq(1 null ) - null = Eq(1 null ) - null = Eq($s6 null ) - $s6 = null + $t0 = local[18] + $t0 = $s6 + local[18] = $t0 + $t0 = local[17] + $s6 = Eq(1 $t0 ) + local[17] = $t0 + $t0 = local[19] + $t1 = local[18] + $t0 = Eq(1 $t1 ) + local[18] = $t1 + $t1 = local[20] + $t2 = local[19] + $t1 = Eq($s6 $t2 ) + local[19] = $t2 + local[20] = $t1 + $t1 = local[20] + $s6 = $t1 + local[20] = $t1 if0 $s6 goto :while65_end + local[19] = $t0 while65_body: $s7 = $s7 $s6 = [$s7+0] - null = [$s6+16] + $t0 = local[21] + $t0 = [$s6+16] + local[21] = $t0 $s6 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 $a1 = $s6 - call null - $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] + $t0 = local[21] + $t1 = local[21] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t3 = $v0 + local[21] = $t1 $s6 = $t3 + local[21] = $t0 if0 $s6 goto :if74_else if74_body: $s4 = 1 $s6 = $s2 - null = 0 - null = LtS($s6 null ) - $s6 = null + $t0 = local[22] + $t0 = 0 + local[22] = $t0 + $t0 = local[23] + $t1 = local[22] + $t0 = LtS($s6 $t1 ) + local[22] = $t1 + $t1 = local[23] + $s6 = $t1 + local[23] = $t1 if0 $s6 goto :if79_else + local[23] = $t0 if79_body: $s1 = $s1 $s6 = [$s1+0] - null = [$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 + $t0 = local[24] + $t0 = [$s6+32] + local[24] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s1 - call null - $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] + $t0 = local[24] + $t1 = local[24] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t5 = $v0 + local[24] = $t1 $s5 = $t5 + local[24] = $t0 goto :if79_end if79_else: $s6 = 0 - null = 555 - null = Sub($s6 null ) - $s6 = null + $t0 = local[25] + $t0 = 555 + local[25] = $t0 + $t0 = local[26] + $t1 = local[25] + $t0 = Sub($s6 $t1 ) + local[25] = $t1 + $t1 = local[26] + $s6 = $t1 + local[26] = $t1 PrintIntS($s6 ) + local[26] = $t0 $s3 = $s3 $s6 = [$s3+0] - null = [$s6+12] + $t0 = local[27] + $t0 = [$s6+12] + local[27] = $t0 $s1 = $s1 $s6 = [$s1+0] - null = [$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 + $t0 = local[28] + $t0 = [$s6+32] + local[28] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s1 - call null - $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] + $t0 = local[28] + $t1 = local[28] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t6 = $v0 + local[28] = $t1 $s6 = $t6 - 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 + local[28] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s3 $a1 = $s6 - call null - $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] + $t0 = local[27] + $t1 = local[27] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t4 = $v0 + local[27] = $t1 $s6 = $t4 + local[27] = $t0 $s6 = 0 - null = 555 - null = Sub($s6 null ) - $s6 = null + $t0 = local[29] + $t0 = 555 + local[29] = $t0 + $t0 = local[30] + $t1 = local[29] + $t0 = Sub($s6 $t1 ) + local[29] = $t1 + $t1 = local[30] + $s6 = $t1 + local[30] = $t1 PrintIntS($s6 ) + local[30] = $t0 if79_end: goto :if74_end if74_else: $s6 = 0 if74_end: $s6 = Eq($s4 0 ) - null = $s6 - if0 null goto :if101_else + $t0 = local[31] + $t0 = $s6 + local[31] = $t0 + $t0 = local[31] + if0 $t0 goto :if101_else + local[31] = $t0 if101_body: $s3 = $s1 $s1 = $s1 $s6 = [$s1+0] - null = [$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 + $t0 = local[32] + $t0 = [$s6+32] + local[32] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s1 - call null - $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] - null = $v0 - $s1 = null + $t0 = local[32] + $t1 = local[32] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] + $t2 = local[14] + $t2 = $v0 + local[14] = $t2 + local[32] = $t1 + $t1 = local[14] + $s1 = $t1 + local[14] = $t1 $s1 = $s1 + local[32] = $t0 $s6 = [$s1+0] - null = [$s6+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 + $t0 = local[33] + $t0 = [$s6+24] + local[33] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s1 - call null - $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] - null = $v0 - $s0 = null + $t0 = local[33] + $t1 = local[33] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] + $t2 = local[16] + $t2 = $v0 + local[16] = $t2 + local[33] = $t1 + $t1 = local[16] + $s0 = $t1 + local[16] = $t1 $s1 = $s1 + local[33] = $t0 $s6 = [$s1+0] - null = [$s6+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 + $t0 = local[34] + $t0 = [$s6+28] + local[34] = $t0 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s1 - call null - $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] - null = $v0 - $t7 = null + $t0 = local[34] + $t1 = local[34] + call $t1 + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] + $t2 = local[15] + $t2 = $v0 + local[15] = $t2 + local[34] = $t1 + $t1 = local[15] + $t7 = $t1 + local[15] = $t1 $s2 = 1 + local[34] = $t0 goto :if101_end if101_else: $s6 = 0 @@ -806,7 +814,7 @@ while65_end: $s6 = local[6] $s7 = local[7] ret -func List_Search [in 0, out 0, local 17] +func List_Search [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -830,27 +838,21 @@ while113_body: $t5 = [$s7+0] $s6 = [$t5+16] $t5 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 $a1 = $t5 call $s6 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t6 = $v0 $t5 = $t6 if0 $t5 goto :if116_else @@ -863,76 +865,58 @@ if116_end: $s4 = $s4 $t5 = [$s4+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s4 call $s6 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s4 = $s1 $s4 = $s4 $s6 = [$s4+0] $t5 = [$s6+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s4 call $t5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t7 = $v0 $s3 = $t7 $s4 = $s4 $t5 = [$s4+0] $s6 = [$t5+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s4 call $s6 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s0 = $v0 $s2 = $s0 goto :while113_test @@ -948,7 +932,7 @@ while113_end: $s6 = local[6] $s7 = local[7] ret -func List_GetEnd [in 0, out 0, local 17] +func List_GetEnd [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -969,7 +953,7 @@ func List_GetEnd [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_GetElem [in 0, out 0, local 17] +func List_GetElem [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -990,7 +974,7 @@ func List_GetElem [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_GetNext [in 0, out 0, local 17] +func List_GetNext [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -1011,7 +995,7 @@ func List_GetNext [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func List_Print [in 0, out 0, local 17] +func List_Print [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -1032,102 +1016,78 @@ while134_body: $s4 = $s4 $t7 = [$s4+0] $s7 = [$t7+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s4 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s0 = $v0 $s7 = $s0 PrintIntS($s7 ) $s6 = $s6 $s7 = [$s6+0] $t7 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $t7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s6 = $s2 $s6 = $s6 $t7 = [$s6+0] $s7 = [$t7+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s6 = $s6 $s7 = [$s6+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $t7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s4 = $s1 goto :while134_test @@ -1143,7 +1103,7 @@ while134_end: $s6 = local[6] $s7 = local[7] ret -func LL_Start [in 0, out 0, local 17] +func LL_Start [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -1159,77 +1119,59 @@ func LL_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s6 = $v0 $s5 = $s6 $s5 = $s7 $s5 = $s5 $s7 = [$s5+0] $s6 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s6 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 $s5 = $s5 $s7 = [$s5+0] $s6 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s6 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 $s7 = HeapAllocZ(36 ) @@ -1241,81 +1183,63 @@ func LL_Start [in 0, out 0, local 17] $s7 = 25 $s3 = 37000 $s2 = 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 $a2 = $s3 $a3 = $s2 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s5 = $s1 $s5 = $s5 $s1 = [$s5+0] $s2 = [$s1+8] $s1 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s1 call $s2 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s5 = $s5 $s3 = [$s5+0] $s1 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s3 = 10000000 @@ -1329,29 +1253,23 @@ func LL_Start [in 0, out 0, local 17] $s3 = 39 $s2 = 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s3 $a2 = $s2 $a3 = $s7 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s5 = $s4 $s4 = $s6 @@ -1359,52 +1277,40 @@ func LL_Start [in 0, out 0, local 17] $s7 = [$s5+0] $s2 = [$s7+8] $s7 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s7 call $s2 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s5 = $s5 $s3 = [$s5+0] $s7 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s3 = 10000000 @@ -1418,81 +1324,63 @@ func LL_Start [in 0, out 0, local 17] $s3 = 22 $s2 = 34000 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s3 $a2 = $s2 $a3 = $s1 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s0 = $v0 $s5 = $s0 $s5 = $s5 $s0 = [$s5+0] $s1 = [$s0+8] $s0 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s0 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s5 = $s2 $s5 = $s5 $s2 = [$s5+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s0 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s5 = $s2 $s2 = HeapAllocZ(36 ) @@ -1504,56 +1392,44 @@ func LL_Start [in 0, out 0, local 17] $s2 = 27 $s3 = 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s0 $a1 = $s2 $a2 = $s3 $a3 = $s7 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $t7 = $v0 $s5 = $t7 $s5 = $s5 $t7 = [$s5+0] $s7 = [$t7+20] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $t7 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $t7 = $s3 PrintIntS($t7 ) @@ -1561,27 +1437,21 @@ func LL_Start [in 0, out 0, local 17] $t7 = [$s5+0] $s3 = [$t7+20] $t7 = $s0 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $t7 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s0 = $v0 $t7 = $s0 PrintIntS($t7 ) @@ -1596,81 +1466,63 @@ func LL_Start [in 0, out 0, local 17] $t7 = 28 $s3 = 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $t7 $a2 = $s3 $a3 = $s7 call $s0 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s5 = $s2 $s5 = $s5 $s2 = [$s5+0] $s7 = [$s2+8] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s2 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s5 = $s5 $s3 = [$s5+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s2 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s5 = $s3 $s3 = 2220000 @@ -1679,52 +1531,40 @@ func LL_Start [in 0, out 0, local 17] $s3 = [$s5+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s3 call $s2 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s5 = $s4 $s5 = $s5 $s4 = [$s5+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s5 = $s4 $s4 = 33300000 @@ -1733,52 +1573,40 @@ func LL_Start [in 0, out 0, local 17] $s4 = [$s5+0] $s3 = [$s4+16] $s4 = $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s4 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s6 = $v0 $s5 = $s6 $s5 = $s5 $s6 = [$s5+0] $s4 = [$s6+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s6 = $v0 $s5 = $s6 $s6 = 44440000 @@ -1794,7 +1622,7 @@ func LL_Start [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/QuickSort.vaporm b/output/QuickSort.vaporm index e47797a..4fe47c6 100644 --- a/output/QuickSort.vaporm +++ b/output/QuickSort.vaporm @@ -3,7 +3,7 @@ const functable_QS :QS_Sort :QS_Print :QS_Init -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,27 +18,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -51,7 +45,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func QS_Start [in 0, out 0, local 17] +func QS_Start [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -65,51 +59,39 @@ func QS_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s4 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $s4 = $s5 $s5 = 9999 @@ -122,52 +104,40 @@ func QS_Start [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 $a2 = $s5 call $s3 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s4 = $s4 $s4 = [$s6+0] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $s4 = $s5 $s5 = 0 @@ -181,7 +151,7 @@ func QS_Start [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func QS_Sort [in 0, out 0, local 17] +func QS_Sort [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -343,28 +313,22 @@ while32_end: $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s2 $a2 = $s4 call $s1 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s0 = $v0 $s4 = $s0 $s4 = [$s5+0] @@ -374,28 +338,22 @@ while32_end: $s3 = $s2 $s2 = $s7 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s5 $a1 = $s3 $a2 = $s2 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 goto :if22_end @@ -413,7 +371,7 @@ if22_end: $s6 = local[6] $s7 = local[7] ret -func QS_Print [in 0, out 0, local 17] +func QS_Print [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -455,7 +413,7 @@ while104_end: $s6 = local[6] $s7 = local[7] ret -func QS_Init [in 0, out 0, local 17] +func QS_Init [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -467,26 +425,20 @@ func QS_Init [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call :AllocArray - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 [$s6+16] = $s5 $s5 = [$s6+16] @@ -550,7 +502,7 @@ func QS_Init [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/TreeVisitor.vaporm b/output/TreeVisitor.vaporm index 4f1ea0f..e69de29 100644 --- a/output/TreeVisitor.vaporm +++ b/output/TreeVisitor.vaporm @@ -1,3242 +0,0 @@ -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 - $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 = $v0 - $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 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+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 - $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 = $v0 - $s6 = $s6 - $s6 = 100000000 - PrintIntS($s6 ) - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+48] - $s5 = 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 = $s5 - call $s6 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s4 = [$s7+0] - $s5 = [$s4+48] - $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 = $s7 - $a1 = $s4 - call $s5 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+48] - $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 - $a1 = $s5 - call $s6 - $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 = $v0 - $s6 = $s4 - $s7 = $s7 - $s4 = [$s7+0] - $s5 = [$s4+48] - $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 - $a1 = $s4 - call $s5 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s4 = [$s6+48] - $s6 = 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 = $s6 - call $s4 - $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 = $v0 - $s6 = $s5 - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+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 $s6 - $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 = $v0 - $s6 = $s5 - $s5 = 100000000 - PrintIntS($s5 ) - $s5 = HeapAllocZ(16 ) - [$s5+0] = :functable_MyVisitor - $s6 = $s5 - $s5 = 50000000 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$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 = $s7 - $a1 = $s5 - call $s4 - $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 = $v0 - $s5 = $s6 - $s5 = 100000000 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $s5 = 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 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+68] - $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 = $s7 - $a1 = $s5 - call $s4 - $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 = $v0 - $s5 = $s6 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $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 - $a1 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+68] - $s5 = 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 = $s5 - call $s4 - $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 = $v0 - $s5 = $s6 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s6 = [$s5+68] - $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 = $s7 - $a1 = $s5 - call $s6 - $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 = $v0 - $s5 = $s4 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$s5+52] - $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 = $s7 - $a1 = $s5 - call $s4 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s5 = [$s6+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 - $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 = $v0 - $s6 = $s6 - $s7 = $s7 - $s6 = [$s7+0] - $s5 = [$s6+68] - $s6 = 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 = $s6 - call $s5 - $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 = $v0 - $s6 = $s4 - PrintIntS($s6 ) - $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 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 29] - 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 - $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 = $v0 - $s5 = $s2 - $s5 = $s6 - $s6 = 1 -while120_test: - $s2 = $s6 - if0 $s2 goto :while120_end -while120_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s2 = $t5 - null = $s7 - null = $s2 - $s2 = LtS(null null ) - null = $s2 - if0 null goto :if125_else -if125_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s2 = $t7 - if0 $s2 goto :if129_else -if129_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 = $s5 - call null - $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 = $v0 - $s5 = $s3 - goto :if129_end -if129_else: - $s6 = 0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+36] - $s2 = 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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $s0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+8] - $s2 = $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 = $s5 - $a1 = $s2 - call null - $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] - $t3 = $v0 - $s5 = $t3 -if129_end: - goto :if125_end -if125_else: - $s5 = $s5 - $s2 = [$s5+0] - null = [$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 null - $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] - $t4 = $v0 - $s2 = $t4 - if0 $s2 goto :if144_else -if144_body: - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+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 null - $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 = $v0 - $s5 = $s2 - goto :if144_end -if144_else: - $s6 = 0 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+40] - $s2 = 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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $t6 - $s5 = $s5 - $s2 = [$s5+0] - null = [$s2+4] - $s2 = $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 = $s5 - $a1 = $s2 - call null - $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 = $v0 - $s5 = $s1 -if144_end: -if125_end: - goto :while120_test -while120_end: - $t3 = 1 - $v0 = $t3 - $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 44] - 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] - null = [$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 null - $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 = $v0 - $s0 = $t5 - null = $s7 - null = $s0 - null = LtS(null null ) - null = null - if0 null goto :if165_else -if165_body: - $s5 = $s5 - null = [$s5+0] - null = [null+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 null - $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] - null = $v0 - null = null - if0 null goto :if169_else -if169_body: - $s4 = $s5 - $s5 = $s5 - null = [$s5+0] - null = [null+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 null - $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] - $t4 = $v0 - $s5 = $t4 - goto :if169_end -if169_else: - $s3 = 0 -if169_end: - goto :if165_end -if165_else: - null = $s0 - $s0 = $s7 - null = LtS(null $s0 ) - $s0 = null - if0 $s0 goto :if176_else -if176_body: - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - null = $s0 - if0 null goto :if180_else -if180_body: - $s4 = $s5 - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s5 = $s0 - goto :if180_end -if180_else: - $s3 = 0 -if180_end: - goto :if176_end -if176_else: - $s0 = $s1 - if0 $s0 goto :if187_else -if187_body: - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s0 = Eq($t6 0 ) - null = $s0 - $s5 = $s5 - $s0 = [$s5+0] - null = [$s0+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 null - $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 = $v0 - $s0 = Eq($t7 0 ) - null = $s0 - $s0 = Eq(1 null ) - null = Eq(1 null ) - null = Eq($s0 null ) - $s0 = null - if0 $s0 goto :if188_else -if188_body: - $s0 = 1 - goto :if188_end -if188_else: - $s0 = [$s6+0] - null = $s4 - null = $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 = null - $a2 = null - call $s0 - $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] - $t3 = $v0 - $s0 = $t3 -if188_end: - goto :if187_end -if187_else: - $s0 = [$s6+0] - null = $s4 - null = $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 = null - $a2 = null - call $s0 - $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] - null = $v0 - $s0 = null -if187_end: - $s2 = 1 - $s3 = 0 -if176_end: -if165_end: - $s1 = 0 - goto :while160_test -while160_end: - $t3 = $s2 - $v0 = $t3 - $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 - $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 = $v0 - $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 - $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 = $v0 - $s2 = $s1 - goto :if211_end -if211_else: - $s7 = $s7 - $s2 = [$s7+0] - $s1 = [$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 = $s7 - call $s1 - $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 = $v0 - $s1 = $s2 - if0 $s1 goto :if219_else -if219_body: - $s1 = [$s5+0] - $s2 = $s6 - $s4 = $s7 - $s1 = [$s1+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 = $s2 - $a2 = $s4 - call $s1 - $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 = $v0 - $s2 = $s3 - goto :if219_end -if219_else: - $s7 = $s7 - $s3 = [$s7+0] - $s4 = [$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 - call $s4 - $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 = $v0 - $s4 = $s3 - $s6 = $s6 - $s3 = [$s6+0] - $s7 = [$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 = $s6 - call $s7 - $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 = $v0 - $s7 = $s3 - $s3 = [$s7+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 = $s7 - call $s2 - $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 = $v0 - $s2 = $s3 - $s3 = [$s5+0] - $s7 = $s4 - $s4 = $s2 - $s3 = [$s3+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 = $s4 - call $s3 - $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 = $v0 - $s4 = $s2 - if0 $s4 goto :if237_else -if237_body: - $s6 = $s6 - $s4 = [$s6+0] - $s2 = [$s4+8] - $s4 = [$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 = $s4 - call $s2 - $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 = $v0 - $s2 = $s7 - $s6 = $s6 - $s7 = [$s6+0] - $s4 = [$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 $s4 - $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 = $v0 - $s2 = $s2 - goto :if237_end -if237_else: - $s6 = $s6 - $s2 = [$s6+0] - $s7 = [$s2+4] - $s2 = [$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 = $s2 - call $s7 - $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 = $v0 - $s2 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s2 = [$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 $s2 - $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 = $v0 - $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 - $t7 = [$s7+0] - $t6 = [$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 = $s7 - call $t6 - $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 = $v0 - $t6 = $s1 - if0 $t6 goto :while259_end -while259_body: - $s7 = $s7 - $t6 = [$s7+0] - $t7 = [$t6+24] - $s7 = $s7 - $t6 = [$s7+0] - $t5 = [$t6+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 $t5 - $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 = $v0 - $t5 = $s3 - $t6 = [$t5+0] - $t4 = [$t6+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 = $t5 - call $t4 - $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 = $v0 - $t4 = $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 = $t4 - call $t7 - $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 = $v0 - $t4 = $s0 - $s6 = $s7 - $s7 = $s7 - $t4 = [$s7+0] - $t7 = [$t4+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 $t7 - $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 = $v0 - $s7 = $s2 - goto :while259_test -while259_end: - $s6 = $s6 - $s0 = [$s6+0] - $s1 = [$s0+4] - $s0 = [$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 = $s0 - call $s1 - $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 = $v0 - $t4 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s0 = [$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 $s0 - $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 = $v0 - $t4 = $s1 - $s1 = 1 - $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_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 - $t7 = [$s7+0] - $t6 = [$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 = $s7 - call $t6 - $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 = $v0 - $t6 = $s1 - if0 $t6 goto :while287_end -while287_body: - $s7 = $s7 - $t6 = [$s7+0] - $t7 = [$t6+24] - $s7 = $s7 - $t6 = [$s7+0] - $t5 = [$t6+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 $t5 - $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 = $v0 - $t5 = $s3 - $t6 = [$t5+0] - $t4 = [$t6+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 = $t5 - call $t4 - $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 = $v0 - $t4 = $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 = $t4 - call $t7 - $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 = $v0 - $t4 = $s0 - $s6 = $s7 - $s7 = $s7 - $t4 = [$s7+0] - $t7 = [$t4+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 $t7 - $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 = $v0 - $s7 = $s2 - goto :while287_test -while287_end: - $s6 = $s6 - $s0 = [$s6+0] - $s1 = [$s0+8] - $s0 = [$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 = $s0 - call $s1 - $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 = $v0 - $t4 = $s5 - $s6 = $s6 - $s5 = [$s6+0] - $s0 = [$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 $s0 - $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 = $v0 - $t4 = $s1 - $s1 = 1 - $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_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] - $t7 = [$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 $t7 - $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 = $v0 - $t7 = $s0 - $s3 = $s7 - $t6 = $t7 - $t5 = LtS($s3 $t6 ) - $t6 = $t5 - if0 $t6 goto :if320_else -if320_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 - $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 = $v0 - $t5 = $s1 - if0 $t5 goto :if324_else -if324_body: - $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 - $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 = $v0 - $s5 = $s2 - goto :if324_end -if324_else: - $s6 = 0 -if324_end: - goto :if320_end -if320_else: - $t6 = $t7 - $t7 = $s7 - $t5 = LtS($t6 $t7 ) - $t7 = $t5 - if0 $t7 goto :if331_else -if331_body: - $s5 = $s5 - $t7 = [$s5+0] - $t5 = [$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 $t5 - $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 = $v0 - $t5 = $t7 - if0 $t5 goto :if335_else -if335_body: - $s5 = $s5 - $t5 = [$s5+0] - $t7 = [$t5+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 - $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 = $v0 - $s5 = $t5 - 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: - $s0 = $s4 - $v0 = $s0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $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 - $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 = $v0 - $s3 = $s5 - goto :if347_end -if347_else: - $s3 = 1 -if347_end: - $s7 = $s7 - $s3 = [$s7+0] - $s5 = [$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 - call $s5 - $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 = $v0 - $s5 = $s3 - PrintIntS($s5 ) - $s7 = $s7 - $s5 = [$s7+0] - $s3 = [$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 $s3 - $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 = $v0 - $s3 = $s5 - if0 $s3 goto :if361_else -if361_body: - $s3 = [$s6+0] - $s7 = $s7 - $s5 = [$s7+0] - $s4 = [$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 = $s7 - call $s4 - $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 = $v0 - $s4 = $s5 - $s3 = [$s3+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 $s3 - $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 = $v0 - $s3 = $s5 - goto :if361_end -if361_else: - $s3 = 1 -if361_end: - $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 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 - $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 = $v0 - $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 - $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 = $v0 - $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 - $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 = $v0 - [$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 - $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 = $v0 - $s5 = $s2 - goto :if378_end -if378_else: - $s5 = 0 -if378_end: - $s7 = $s7 - $s5 = [$s7+0] - $s2 = [$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 $s2 - $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 = $v0 - $s2 = $s5 - if0 $s2 goto :if389_else -if389_body: - $s7 = $s7 - $s2 = [$s7+0] - $s5 = [$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 $s5 - $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 = $v0 - [$s6+4] = $s2 - $s2 = [$s6+4] - $s5 = [$s2+0] - $s7 = [$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 = $s2 - $a1 = $s5 - call $s7 - $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 = $v0 - $s5 = $s6 - goto :if389_end -if389_else: - $s5 = 0 -if389_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 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 - $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 = $v0 - $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 - $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 = $v0 - [$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 - $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 = $v0 - $s5 = $s2 - goto :if401_end -if401_else: - $s5 = 0 -if401_end: - $s7 = $s7 - $s5 = [$s7+0] - $s2 = [$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 $s2 - $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 = $v0 - $s2 = $s5 - PrintIntS($s2 ) - $s7 = $s7 - $s2 = [$s7+0] - $s5 = [$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 $s5 - $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 = $v0 - $s5 = $s2 - if0 $s5 goto :if416_else -if416_body: - $s7 = $s7 - $s5 = [$s7+0] - $s2 = [$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 $s2 - $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 = $v0 - [$s6+8] = $s5 - $s5 = [$s6+8] - $s2 = [$s5+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 = $s5 - $a1 = $s2 - call $s7 - $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 = $v0 - $s5 = $s6 - goto :if416_end -if416_else: - $s5 = 0 -if416_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/ex29.vaporm b/output/ex29.vaporm index cc9e00c..02fab92 100644 --- a/output/ex29.vaporm +++ b/output/ex29.vaporm @@ -1,4 +1,4 @@ -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -16,7 +16,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex30.vaporm b/output/ex30.vaporm index 92e1e94..c1a3623 100644 --- a/output/ex30.vaporm +++ b/output/ex30.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,7 +18,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -39,7 +39,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex31.vaporm b/output/ex31.vaporm index 43fee7b..1f89621 100644 --- a/output/ex31.vaporm +++ b/output/ex31.vaporm @@ -1,7 +1,7 @@ const functable_A :A_foo :A_bar -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -22,7 +22,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -43,7 +43,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_bar [in 0, out 0, local 17] +func A_bar [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -64,7 +64,7 @@ func A_bar [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex32.vaporm b/output/ex32.vaporm index 095da49..4d17032 100644 --- a/output/ex32.vaporm +++ b/output/ex32.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,29 +18,23 @@ func Main [in 0, out 0, local 17] $s7 = 12 $s4 = 14 $s3 = 15 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 $a2 = $s4 $a3 = $s3 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s3 = $s2 PrintIntS($s3 ) @@ -53,7 +47,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -77,7 +71,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex33.vaporm b/output/ex33.vaporm index 2179cfd..a0164ce 100644 --- a/output/ex33.vaporm +++ b/output/ex33.vaporm @@ -1,7 +1,7 @@ const functable_A :A_foo :A_bar -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -25,29 +25,23 @@ func Main [in 0, out 0, local 17] $s1 = $s3 $s1 = 400 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s4 $a2 = $s7 $a3 = $s1 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s2 = $v0 $s1 = $s2 PrintIntS($s1 ) @@ -59,28 +53,22 @@ func Main [in 0, out 0, local 17] $s4 = Add($s1 $s7 ) $s7 = $s4 $s4 = 400 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 $a2 = $s4 call $s2 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s1 = $v0 $s4 = $s1 PrintIntS($s4 ) @@ -93,7 +81,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -117,7 +105,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_bar [in 0, out 0, local 17] +func A_bar [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -141,7 +129,7 @@ func A_bar [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex34.vaporm b/output/ex34.vaporm index 9ba0da9..28464c6 100644 --- a/output/ex34.vaporm +++ b/output/ex34.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,27 +18,21 @@ func Main [in 0, out 0, local 17] $s7 = [$s6+0] $s5 = [$s7+0] $s7 = 2 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -51,7 +45,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -74,7 +68,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex35.vaporm b/output/ex35.vaporm index ca18867..4bc2307 100644 --- a/output/ex35.vaporm +++ b/output/ex35.vaporm @@ -1,6 +1,6 @@ const functable_Fac :Fac_ComputeFac -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,27 +15,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -48,7 +42,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Fac_ComputeFac [in 0, out 0, local 17] +func Fac_ComputeFac [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -70,7 +64,7 @@ func Fac_ComputeFac [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex36.vaporm b/output/ex36.vaporm index 2307cc1..7018dac 100644 --- a/output/ex36.vaporm +++ b/output/ex36.vaporm @@ -1,6 +1,6 @@ const functable_Fac :Fac_ComputeFac -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -16,27 +16,21 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -49,7 +43,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Fac_ComputeFac [in 0, out 0, local 17] +func Fac_ComputeFac [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -72,7 +66,7 @@ func Fac_ComputeFac [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex37.vaporm b/output/ex37.vaporm index 91daad6..9f7c8df 100644 --- a/output/ex37.vaporm +++ b/output/ex37.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,26 +15,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -47,7 +41,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -82,7 +76,7 @@ while5_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex38.vaporm b/output/ex38.vaporm index 91daad6..9f7c8df 100644 --- a/output/ex38.vaporm +++ b/output/ex38.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,26 +15,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -47,7 +41,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -82,7 +76,7 @@ while5_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex39.vaporm b/output/ex39.vaporm index ab97f13..0fa4db7 100644 --- a/output/ex39.vaporm +++ b/output/ex39.vaporm @@ -1,4 +1,4 @@ -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -33,7 +33,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex40.vaporm b/output/ex40.vaporm index 0bfcb01..5ee4e28 100644 --- a/output/ex40.vaporm +++ b/output/ex40.vaporm @@ -1,6 +1,6 @@ const functable_A :A_add_two -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -16,27 +16,21 @@ func Main [in 0, out 0, local 17] $s7 = [$s6+0] $s5 = [$s7+0] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) @@ -49,7 +43,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_add_two [in 0, out 0, local 17] +func A_add_two [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -76,7 +70,7 @@ func A_add_two [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex41.vaporm b/output/ex41.vaporm index abd3cf4..35a90af 100644 --- a/output/ex41.vaporm +++ b/output/ex41.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,26 +15,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -47,7 +41,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -96,7 +90,7 @@ while5_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex43.vaporm b/output/ex43.vaporm index 5669cd7..93d7ecb 100644 --- a/output/ex43.vaporm +++ b/output/ex43.vaporm @@ -1,6 +1,6 @@ const functable_A :A_foo -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,26 +15,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -47,7 +41,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -82,7 +76,7 @@ if5_end: $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex44.vaporm b/output/ex44.vaporm index 1a26c32..b2537e8 100644 --- a/output/ex44.vaporm +++ b/output/ex44.vaporm @@ -1,6 +1,6 @@ const functable_Operator :Operator_compute -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -14,26 +14,20 @@ func Main [in 0, out 0, local 17] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -46,7 +40,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func Operator_compute [in 0, out 0, local 17] +func Operator_compute [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -73,7 +67,7 @@ func Operator_compute [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex45.vaporm b/output/ex45.vaporm index 6fc5bb9..2e05671 100644 --- a/output/ex45.vaporm +++ b/output/ex45.vaporm @@ -1,6 +1,6 @@ const functable_A :A_run -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -15,26 +15,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 $s7 = $s5 @@ -48,7 +42,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_run [in 0, out 0, local 17] +func A_run [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -58,26 +52,20 @@ func A_run [in 0, out 0, local 17] local[6] = $s6 local[7] = $s7 $s7 = $a0 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = 10 call :AllocArray - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s6 = $v0 [$s7+4] = $s6 $s6 = [$s7+4] @@ -93,7 +81,7 @@ func A_run [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex46.vaporm b/output/ex46.vaporm index 414fd4a..db39b37 100644 --- a/output/ex46.vaporm +++ b/output/ex46.vaporm @@ -1,7 +1,7 @@ const functable_A :A_foo :A_bar -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -16,52 +16,40 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) $s6 = $s6 $s5 = [$s6+0] $s7 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s7 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $s7 = $s5 PrintIntS($s7 ) @@ -70,28 +58,22 @@ func Main [in 0, out 0, local 17] $s5 = [$s7+4] $s7 = 10 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 $a2 = $s4 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s3 = $v0 $s4 = $s3 $s3 = $s4 @@ -105,7 +87,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_foo [in 0, out 0, local 17] +func A_foo [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -135,7 +117,7 @@ func A_foo [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_bar [in 0, out 0, local 17] +func A_bar [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -164,7 +146,7 @@ func A_bar [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex47.vaporm b/output/ex47.vaporm index 5854a9a..7788591 100644 --- a/output/ex47.vaporm +++ b/output/ex47.vaporm @@ -1,7 +1,7 @@ const functable_A :A_set :A_get -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -17,53 +17,41 @@ func Main [in 0, out 0, local 17] $s7 = [$s6+0] $s5 = [$s7+0] $s7 = 42 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) $s6 = $s6 $s7 = [$s6+0] $s4 = [$s7+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 PrintIntS($s4 ) @@ -76,7 +64,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_set [in 0, out 0, local 17] +func A_set [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -87,26 +75,20 @@ func A_set [in 0, out 0, local 17] local[7] = $s7 $s6 = $a0 $s7 = $a1 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = 12 call :AllocArray - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 [$s6+8] = $s5 $s5 = [$s6+8] @@ -127,7 +109,7 @@ func A_set [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_get [in 0, out 0, local 17] +func A_get [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -153,7 +135,7 @@ func A_get [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex48.vaporm b/output/ex48.vaporm index 02dbd34..06fe967 100644 --- a/output/ex48.vaporm +++ b/output/ex48.vaporm @@ -1,7 +1,7 @@ const functable_A :A_set :A_get -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -17,53 +17,41 @@ func Main [in 0, out 0, local 17] $s7 = [$s6+0] $s5 = [$s7+0] $s7 = 42 - 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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 $a1 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s4 = $v0 $s7 = $s4 PrintIntS($s7 ) $s6 = $s6 $s7 = [$s6+0] $s4 = [$s7+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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s4 = $s7 PrintIntS($s4 ) @@ -76,7 +64,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_set [in 0, out 0, local 17] +func A_set [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -99,7 +87,7 @@ func A_set [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_get [in 0, out 0, local 17] +func A_get [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -120,7 +108,7 @@ func A_get [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex49.vaporm b/output/ex49.vaporm index 5a72e0c..2c6d982 100644 --- a/output/ex49.vaporm +++ b/output/ex49.vaporm @@ -3,7 +3,7 @@ const functable_A const functable_B :B_get :A_set -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,26 +18,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -50,7 +44,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_set [in 0, out 0, local 17] +func A_set [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -72,7 +66,7 @@ func A_set [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func B_get [in 0, out 0, local 17] +func B_get [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -94,7 +88,7 @@ func B_get [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/output/ex50.vaporm b/output/ex50.vaporm index 5ad0397..1a73739 100644 --- a/output/ex50.vaporm +++ b/output/ex50.vaporm @@ -3,7 +3,7 @@ const functable_A const functable_B :B_get :B_set -func Main [in 0, out 0, local 17] +func Main [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -18,26 +18,20 @@ func Main [in 0, out 0, local 17] $s6 = $s6 $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s6 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s7 = $v0 $s5 = $s7 PrintIntS($s5 ) @@ -50,7 +44,7 @@ func Main [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func A_set_get [in 0, out 0, local 17] +func A_set_get [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -66,51 +60,39 @@ func A_set_get [in 0, out 0, local 17] $s7 = [$s6+4] $s5 = [$s7+0] $s4 = [$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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call $s4 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s5 = $v0 $s4 = $s5 $s7 = [$s6+4] $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 + local[8] = $t3 + local[9] = $t4 + local[10] = $t5 + local[11] = $t6 + local[12] = $t7 + local[13] = $t8 $a0 = $s7 call $s5 - $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] + $t3 = local[8] + $t4 = local[9] + $t5 = local[10] + $t6 = local[11] + $t7 = local[12] + $t8 = local[13] $s6 = $v0 $s4 = $s6 $s6 = $s4 @@ -124,7 +106,7 @@ func A_set_get [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func B_get [in 0, out 0, local 17] +func B_get [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -145,7 +127,7 @@ func B_get [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func B_set [in 0, out 0, local 17] +func B_set [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 @@ -167,7 +149,7 @@ func B_set [in 0, out 0, local 17] $s6 = local[6] $s7 = local[7] ret -func AllocArray [in 0, out 0, local 17] +func AllocArray [in 0, out 0, local 14] local[0] = $s0 local[1] = $s1 local[2] = $s2 diff --git a/vaporize/LIRDict.java b/vaporize/LIRDict.java index 50c79b0..30bfed3 100644 --- a/vaporize/LIRDict.java +++ b/vaporize/LIRDict.java @@ -84,14 +84,4 @@ public class LIRDict { return this.spilled_num; } - private int subOneLine(int i) { - int ret = i - 1; - - CFGNode n = cfg.getNode(new Integer(ret)); - if (n != null && n.getInstruction() instanceof VCodeLabel) - --ret; - - return ret; - } - } diff --git a/vaporize/RegisterAlloc.java b/vaporize/RegisterAlloc.java index ae5826b..100d6c4 100644 --- a/vaporize/RegisterAlloc.java +++ b/vaporize/RegisterAlloc.java @@ -9,8 +9,10 @@ public class RegisterAlloc { private String[] all_registers; private Stack<String> free_registers; private TreeSet<LIRVar> active; + private int spill_start; public RegisterAlloc(LIRDict intervals, String[] all_registers) { + this.spill_start = 14; this.intervals = intervals; this.all_registers = all_registers; this.free_registers = new Stack<String>(); @@ -68,13 +70,11 @@ public class RegisterAlloc { } private void spillAtInterval(LIRVar interval) { - MinimalLogger.severe(String.format("Ran out of free registers, but a spill for %s was not performed!", + // You can make this spill optimally (the sarkar linearscan algorithm) + MinimalLogger.severe(String.format("Ran out of free registers, had to spill %s!", interval.toString())); this.intervals.addSpilledNum(); - // LIRVar spill = this.active.get(this.active.length()-1); - // if (spill.getLastUse() > interval.getLastUse()) { - // ; - // } + interval.assignRegister(String.format("local[%d]", this.spill_start++)); } } diff --git a/vaporize/VaporizeVisitor.java b/vaporize/VaporizeVisitor.java index 17e9981..ba319cb 100644 --- a/vaporize/VaporizeVisitor.java +++ b/vaporize/VaporizeVisitor.java @@ -8,20 +8,25 @@ import java.util.*; public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> { private ArrayList<String> vaporm; + private Stack<String> spill_stack; + private LIRDict curr; String[] callee_save = new String[] { "$s0", "$s1", "$s2", "$s3", "$s4", "$s5", "$s6", "$s7" }; - String[] caller_save = new String[] { "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", "$t8" }; + String[] caller_save = new String[] { "$t3", "$t4", "$t5", "$t6", "$t7", "$t8" }; String[] arg_pass = new String[] { "$a0", "$a1", "$a2", "$a3" }; String[] ret_pass = new String[] { "$v0" }; + String[] spillers = new String[] {"$t0", "$t1", "$t2" }; + public VaporizeVisitor(VaporProgram vp, ArrayList<String> vaporm, ArrayList<LIRDict> interval_list) { this.vaporm = vaporm; + this.spill_stack = new Stack<String>(); // is it possible for interval_list and the // function in vp to be out of order? for (int i = 0; i < vp.functions.length; ++i) { this.addVaporm(String.format("func %s [in %d, out %d, local %d]", - vp.functions[i].ident, 0, 0, interval_list.get(i).getSpilledNum() + 17)); + vp.functions[i].ident, 0, 0, interval_list.get(i).getSpilledNum() + 14)); for (int j = 0; j < this.callee_save.length; ++j) { this.addVaporm(String.format(" local[%s] = %s", j, @@ -40,8 +45,11 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> f.toString())); for (Node n : f) { - if (n instanceof VInstr) + if (n instanceof VInstr) { + this.curr = interval_list.get(i); ((VInstr) n).accept(interval_list.get(i), this); + this.emptySpillStack(); + } else this.addVaporm(((VCodeLabel) n).ident + ":"); } @@ -62,6 +70,29 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> return sort; } + public String getRegister(String s) { + if (this.curr.getInterval(s) == null) + return null; + String r = this.curr.getInterval(s).getAssignedRegister(); + if (r.contains("local")) {// SPILL + int i = this.spill_stack.size(); + String reg = this.spillers[i]; + this.addVaporm(String.format(" %s = %s", + reg, + r)); + this.spill_stack.push(String.format(" %s = %s", + r, + reg)); + r = reg; + } + return r; + } + + public void emptySpillStack() { + for (int i = 0; i < this.spill_stack.size(); ++i) + this.addVaporm(this.spill_stack.pop()); + } + public ArrayList<String> getVaporm() { return this.vaporm; } @@ -77,9 +108,9 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> n.getClass().getSimpleName(), n.sourcePos.toString())); /////////////////////////////////////////////////////////////// - String dest = d.getInterval(((VVarRef.Local) n.dest).ident).getAssignedRegister(); + String dest = this.getRegister(((VVarRef.Local) n.dest).ident); String source = (n.source instanceof VVarRef.Local) ? - d.getInterval(n.source.toString()).getAssignedRegister() + this.getRegister(n.source.toString()) : n.source.toString(); this.addVaporm(String.format(" %s = %s", dest, source)); @@ -104,7 +135,7 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> // FIXME for arg num > 4! for (int i = 0; i < n.args.length; ++i) { String reg = (n.args[i] instanceof VVarRef.Local) ? - d.getInterval(n.args[i].toString()).getAssignedRegister() + this.getRegister(n.args[i].toString()) : n.args[i].toString(); MinimalLogger.info(String.format("Adding argument for %s", n.args[i].toString())); @@ -116,16 +147,15 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> MinimalLogger.severe(String.format("n addr: %s", n.addr.toString())); MinimalLogger.severe(String.format("Interval: %s", - d.getInterval(n.addr.toString()))); - LIRVar interval = d.getInterval(n.addr.toString()); - if (interval == null) + this.getRegister(n.addr.toString()))); + String r = this.getRegister(n.addr.toString()); + if (r == null) // a label this.addVaporm(String.format(" call %s", n.addr.toString())); else this.addVaporm(String.format(" call %s", - interval - .getAssignedRegister())); + r)); for (int i = 0; i < this.caller_save.length; ++i) { this.addVaporm(String.format(" %s = local[%s]", this.caller_save[i], @@ -135,8 +165,8 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> // get dest if (n.dest != null) { this.addVaporm(String.format(" %s = $v0", - d.getInterval(((VVarRef.Local) n.dest).ident) - .getAssignedRegister())); + this.getRegister(((VVarRef.Local) n.dest).ident) + )); } /////////////////////////////////////////////////////////////// MinimalLogger.info(String.format("<-%s (%s)", @@ -152,8 +182,8 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> String ret = ""; if (n.dest != null) { ret += String.format("%s = ", - d.getInterval(((VVarRef.Local) n.dest).ident) - .getAssignedRegister()); + this.getRegister(((VVarRef.Local) n.dest).ident) + ); } ret += String.format("%s(", ((VBuiltIn.Op) n.op).name); @@ -161,7 +191,7 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> String par; for (VOperand a : n.args) { par = (a instanceof VVarRef.Local) ? - d.getInterval(a.toString()).getAssignedRegister() + this.getRegister(a.toString()) : a.toString(); ret += String.format("%s ", par); @@ -182,10 +212,10 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> n.getClass().getSimpleName(), n.sourcePos.toString())); /////////////////////////////////////////////////////////////// - String dest = d.getInterval(((VMemRef.Global) n.dest).base.toString()) - .getAssignedRegister(); + String dest = this.getRegister(((VMemRef.Global) n.dest).base.toString()) + ; String source = (n.source instanceof VVarRef.Local) ? - d.getInterval(n.source.toString()).getAssignedRegister() : + this.getRegister(n.source.toString()) : n.source.toString(); int byteOffset = ((VMemRef.Global) n.dest).byteOffset; this.addVaporm(String.format(" [%s+%d] = %s", @@ -202,10 +232,10 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> n.sourcePos.toString())); /////////////////////////////////////////////////////////////// String dest = (n.dest instanceof VVarRef.Local) ? - d.getInterval(n.dest.toString()).getAssignedRegister() : + this.getRegister(n.dest.toString()) : n.dest.toString(); - String source = d.getInterval(((VMemRef.Global) n.source).base.toString()) - .getAssignedRegister(); + String source = this.getRegister(((VMemRef.Global) n.source).base.toString()) + ; int byteOffset = ((VMemRef.Global) n.source).byteOffset; this.addVaporm(String.format(" %s = [%s+%d]", dest, source, byteOffset)); @@ -226,8 +256,8 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> else ret += "if0 "; - ret += d.getInterval(n.value.toString()) - .getAssignedRegister() + " goto :"; + ret += this.getRegister(n.value.toString()) + + " goto :"; ret += n.target.ident; @@ -260,7 +290,7 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> // get ret if (n.value != null) { String reg = (n.value instanceof VVarRef.Local) ? - d.getInterval(n.value.toString()).getAssignedRegister() : + this.getRegister(n.value.toString()) : n.value.toString(); this.addVaporm(String.format(" $v0 = %s", reg)); |