summaryrefslogtreecommitdiff
path: root/output/QuickSort.vaporm
diff options
context:
space:
mode:
Diffstat (limited to 'output/QuickSort.vaporm')
-rw-r--r--output/QuickSort.vaporm554
1 files changed, 393 insertions, 161 deletions
diff --git a/output/QuickSort.vaporm b/output/QuickSort.vaporm
index 4fe47c6..5c53340 100644
--- a/output/QuickSort.vaporm
+++ b/output/QuickSort.vaporm
@@ -120,10 +120,10 @@ func QS_Start [in 0, out 0, local 14]
$t6 = local[11]
$t7 = local[12]
$t8 = local[13]
- $s4 = $v0
- $s4 = $s4
- $s4 = [$s6+0]
- $s4 = [$s4+8]
+ $s2 = $v0
+ $s4 = $s2
+ $s2 = [$s6+0]
+ $s2 = [$s2+8]
local[8] = $t3
local[9] = $t4
local[10] = $t5
@@ -131,7 +131,7 @@ func QS_Start [in 0, out 0, local 14]
local[12] = $t7
local[13] = $t8
$a0 = $s6
- call $s4
+ call $s2
$t3 = local[8]
$t4 = local[9]
$t5 = local[10]
@@ -151,7 +151,7 @@ func QS_Start [in 0, out 0, local 14]
$s6 = local[6]
$s7 = local[7]
ret
-func QS_Sort [in 0, out 0, local 14]
+func QS_Sort [in 0, out 0, local 42]
local[0] = $s0
local[1] = $s1
local[2] = $s2
@@ -160,208 +160,440 @@ func QS_Sort [in 0, out 0, local 14]
local[5] = $s5
local[6] = $s6
local[7] = $s7
- $s5 = $a0
- $s6 = $a1
- $s7 = $a2
- $s4 = 0
- $s3 = $s6
- $s2 = $s7
+ local[14] = $a0
+ local[17] = $a1
+ local[15] = $a2
+ $t0 = local[18]
+ $t0 = 0
+ local[18] = $t0
+ $t0 = local[17]
+ $s3 = $t0
+ local[17] = $t0
+ $t0 = local[15]
+ $s2 = $t0
+ local[15] = $t0
$s1 = LtS($s3 $s2 )
$s2 = $s1
if0 $s2 goto :if22_else
if22_body:
- $s2 = [$s5+16]
- $s1 = MulS($s7 4 )
+ $t0 = local[14]
+ $s2 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[15]
+ $s1 = MulS($t0 4 )
+ local[15] = $t0
$s1 = Add($s1 4 )
$s1 = Add($s2 $s1 )
$s2 = [$s1+0]
$s1 = $s2
- $s2 = $s6
+ $t0 = local[17]
+ $s2 = $t0
+ local[17] = $t0
$s3 = 1
$s0 = Sub($s2 $s3 )
- $s3 = $s0
- $s0 = $s7
- $s2 = 1
+ $t0 = local[16]
+ $t0 = $s0
+ local[16] = $t0
+ $t0 = local[19]
+ $t1 = local[15]
+ $t0 = $t1
+ local[15] = $t1
+ local[19] = $t0
+ $t0 = local[41]
+ $t0 = 1
+ local[41] = $t0
while32_test:
- $t7 = $s2
- if0 $t7 goto :while32_end
+ $t0 = local[40]
+ $t1 = local[41]
+ $t0 = $t1
+ local[41] = $t1
+ local[40] = $t0
+ $t0 = local[40]
+ if0 $t0 goto :while32_end
+ local[40] = $t0
while32_body:
- $t7 = 1
+ $t0 = local[32]
+ $t0 = 1
+ local[32] = $t0
while34_test:
- $t6 = $t7
- if0 $t6 goto :while34_end
+ $t0 = local[31]
+ $t1 = local[32]
+ $t0 = $t1
+ local[32] = $t1
+ local[31] = $t0
+ $t0 = local[31]
+ if0 $t0 goto :while34_end
+ local[31] = $t0
while34_body:
- $t6 = $s3
- $t5 = 1
- $t4 = Add($t6 $t5 )
- $s3 = $t4
- $t4 = [$s5+16]
- $t5 = MulS($s3 4 )
- $t5 = Add($t5 4 )
- $t5 = Add($t4 $t5 )
- $t4 = [$t5+0]
- $t5 = $t4
- $t4 = $t5
- $t6 = $s1
- $t3 = LtS($t4 $t6 )
- $t6 = Eq($t3 0 )
- $t3 = $t6
- if0 $t3 goto :if42_else
+ $t0 = local[16]
+ $s7 = $t0
+ local[16] = $t0
+ $t4 = 1
+ $s5 = Add($s7 $t4 )
+ $t0 = local[16]
+ $t0 = $s5
+ local[16] = $t0
+ $t0 = local[14]
+ $s0 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[16]
+ $s3 = MulS($t0 4 )
+ local[16] = $t0
+ $s3 = Add($s3 4 )
+ $s3 = Add($s0 $s3 )
+ $s4 = [$s3+0]
+ $t3 = $s4
+ $t7 = $t3
+ $t5 = $s1
+ $s2 = LtS($t7 $t5 )
+ $s6 = Eq($s2 0 )
+ $t6 = $s6
+ if0 $t6 goto :if42_else
if42_body:
- $t7 = 0
+ $t0 = local[32]
+ $t0 = 0
+ local[32] = $t0
goto :if42_end
if42_else:
- $t7 = 1
+ $t0 = local[32]
+ $t0 = 1
+ local[32] = $t0
if42_end:
goto :while34_test
while34_end:
- $t7 = 1
+ $t0 = local[32]
+ $t0 = 1
+ local[32] = $t0
while47_test:
- $t3 = $t7
- if0 $t3 goto :while47_end
+ $t0 = local[26]
+ $t1 = local[32]
+ $t0 = $t1
+ local[32] = $t1
+ local[26] = $t0
+ $t0 = local[26]
+ if0 $t0 goto :while47_end
+ local[26] = $t0
while47_body:
- $t3 = $s0
- $t6 = 1
- $t4 = Sub($t3 $t6 )
- $s0 = $t4
- $t4 = [$s5+16]
- $t6 = MulS($s0 4 )
- $t6 = Add($t6 4 )
- $t6 = Add($t4 $t6 )
- $t4 = [$t6+0]
- $t5 = $t4
- $t4 = $s1
- $t6 = $t5
- $t5 = LtS($t4 $t6 )
- $t6 = Eq($t5 0 )
- $t5 = $t6
- if0 $t5 goto :if55_else
+ $t0 = local[19]
+ $s4 = $t0
+ local[19] = $t0
+ $s7 = 1
+ $s0 = Sub($s4 $s7 )
+ $t0 = local[19]
+ $t0 = $s0
+ local[19] = $t0
+ $t0 = local[14]
+ $s6 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[19]
+ $s3 = MulS($t0 4 )
+ local[19] = $t0
+ $s3 = Add($s3 4 )
+ $s3 = Add($s6 $s3 )
+ $s5 = [$s3+0]
+ $t3 = $s5
+ $s2 = $s1
+ $t5 = $t3
+ $t7 = LtS($s2 $t5 )
+ $t4 = Eq($t7 0 )
+ $t6 = $t4
+ if0 $t6 goto :if55_else
if55_body:
- $t7 = 0
+ $t0 = local[32]
+ $t0 = 0
+ local[32] = $t0
goto :if55_end
if55_else:
- $t7 = 1
+ $t0 = local[32]
+ $t0 = 1
+ local[32] = $t0
if55_end:
goto :while47_test
while47_end:
- $t7 = [$s5+16]
- $t5 = MulS($s3 4 )
- $t5 = Add($t5 4 )
- $t5 = Add($t7 $t5 )
- $t7 = [$t5+0]
- $s4 = $t7
- $t7 = [$s5+16]
- $t5 = MulS($s3 4 )
- $t5 = Add($t5 4 )
- $t5 = Add($t7 $t5 )
- $t7 = [$s5+16]
- $t6 = MulS($s0 4 )
- $t6 = Add($t6 4 )
- $t6 = Add($t7 $t6 )
- $t7 = [$t6+0]
- [$t5+0] = $t7
- $t7 = [$s5+16]
- $t5 = MulS($s0 4 )
- $t5 = Add($t5 4 )
- $t5 = Add($t7 $t5 )
- [$t5+0] = $s4
- $t5 = $s0
- $t7 = $s3
- $t6 = 1
- $t4 = Add($t7 $t6 )
- $t6 = $t4
- $t4 = LtS($t5 $t6 )
- $t6 = $t4
- if0 $t6 goto :if70_else
+ $t0 = local[34]
+ $t1 = local[14]
+ $t0 = [$t1+16]
+ local[14] = $t1
+ local[34] = $t0
+ $t0 = local[37]
+ $t1 = local[16]
+ $t0 = MulS($t1 4 )
+ local[16] = $t1
+ local[37] = $t0
+ $t0 = local[37]
+ $t1 = local[37]
+ $t0 = Add($t1 4 )
+ local[37] = $t1
+ local[37] = $t0
+ $t0 = local[37]
+ $t1 = local[34]
+ $t2 = local[37]
+ $t0 = Add($t1 $t2 )
+ local[37] = $t2
+ local[34] = $t1
+ local[37] = $t0
+ $t0 = local[33]
+ $t1 = local[37]
+ $t0 = [$t1+0]
+ local[37] = $t1
+ local[33] = $t0
+ $t0 = local[18]
+ $t1 = local[33]
+ $t0 = $t1
+ local[33] = $t1
+ local[18] = $t0
+ $t0 = local[38]
+ $t1 = local[14]
+ $t0 = [$t1+16]
+ local[14] = $t1
+ local[38] = $t0
+ $t0 = local[35]
+ $t1 = local[16]
+ $t0 = MulS($t1 4 )
+ local[16] = $t1
+ local[35] = $t0
+ $t0 = local[35]
+ $t1 = local[35]
+ $t0 = Add($t1 4 )
+ local[35] = $t1
+ local[35] = $t0
+ $t0 = local[35]
+ $t1 = local[38]
+ $t2 = local[35]
+ $t0 = Add($t1 $t2 )
+ local[35] = $t2
+ local[38] = $t1
+ local[35] = $t0
+ $t0 = local[30]
+ $t1 = local[14]
+ $t0 = [$t1+16]
+ local[14] = $t1
+ local[30] = $t0
+ $t0 = local[21]
+ $t1 = local[19]
+ $t0 = MulS($t1 4 )
+ local[19] = $t1
+ local[21] = $t0
+ $t0 = local[21]
+ $t1 = local[21]
+ $t0 = Add($t1 4 )
+ local[21] = $t1
+ local[21] = $t0
+ $t0 = local[21]
+ $t1 = local[30]
+ $t2 = local[21]
+ $t0 = Add($t1 $t2 )
+ local[21] = $t2
+ local[30] = $t1
+ local[21] = $t0
+ $t0 = local[36]
+ $t1 = local[21]
+ $t0 = [$t1+0]
+ local[21] = $t1
+ local[36] = $t0
+ $t0 = local[35]
+ $t1 = local[36]
+ [$t0+0] = $t1
+ local[36] = $t1
+ local[35] = $t0
+ $t0 = local[20]
+ $t1 = local[14]
+ $t0 = [$t1+16]
+ local[14] = $t1
+ local[20] = $t0
+ $t0 = local[27]
+ $t1 = local[19]
+ $t0 = MulS($t1 4 )
+ local[19] = $t1
+ local[27] = $t0
+ $t0 = local[27]
+ $t1 = local[27]
+ $t0 = Add($t1 4 )
+ local[27] = $t1
+ local[27] = $t0
+ $t0 = local[27]
+ $t1 = local[20]
+ $t2 = local[27]
+ $t0 = Add($t1 $t2 )
+ local[27] = $t2
+ local[20] = $t1
+ local[27] = $t0
+ $t0 = local[27]
+ $t1 = local[18]
+ [$t0+0] = $t1
+ local[18] = $t1
+ local[27] = $t0
+ $t0 = local[29]
+ $t1 = local[19]
+ $t0 = $t1
+ local[19] = $t1
+ local[29] = $t0
+ $t0 = local[23]
+ $t1 = local[16]
+ $t0 = $t1
+ local[16] = $t1
+ local[23] = $t0
+ $t0 = local[22]
+ $t0 = 1
+ local[22] = $t0
+ $t0 = local[28]
+ $t1 = local[23]
+ $t2 = local[22]
+ $t0 = Add($t1 $t2 )
+ local[22] = $t2
+ local[23] = $t1
+ local[28] = $t0
+ $t0 = local[24]
+ $t1 = local[28]
+ $t0 = $t1
+ local[28] = $t1
+ local[24] = $t0
+ $t0 = local[25]
+ $t1 = local[29]
+ $t2 = local[24]
+ $t0 = LtS($t1 $t2 )
+ local[24] = $t2
+ local[29] = $t1
+ local[25] = $t0
+ $t0 = local[39]
+ $t1 = local[25]
+ $t0 = $t1
+ local[25] = $t1
+ local[39] = $t0
+ $t0 = local[39]
+ if0 $t0 goto :if70_else
+ local[39] = $t0
if70_body:
- $s2 = 0
+ $t0 = local[41]
+ $t0 = 0
+ local[41] = $t0
goto :if70_end
if70_else:
- $s2 = 1
+ $t0 = local[41]
+ $t0 = 1
+ local[41] = $t0
if70_end:
goto :while32_test
while32_end:
- $s2 = [$s5+16]
- $s1 = MulS($s0 4 )
- $s1 = Add($s1 4 )
- $s1 = Add($s2 $s1 )
- $s2 = [$s5+16]
- $s0 = MulS($s3 4 )
+ $t0 = local[14]
+ $s1 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[19]
+ $s0 = MulS($t0 4 )
+ local[19] = $t0
$s0 = Add($s0 4 )
- $s0 = Add($s2 $s0 )
- $s2 = [$s0+0]
- [$s1+0] = $s2
- $s2 = [$s5+16]
- $s1 = MulS($s3 4 )
- $s1 = Add($s1 4 )
- $s1 = Add($s2 $s1 )
- $s2 = [$s5+16]
- $s0 = MulS($s7 4 )
+ $s0 = Add($s1 $s0 )
+ $t0 = local[14]
+ $s1 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[16]
+ $s4 = MulS($t0 4 )
+ local[16] = $t0
+ $s4 = Add($s4 4 )
+ $s4 = Add($s1 $s4 )
+ $s1 = [$s4+0]
+ [$s0+0] = $s1
+ $t0 = local[14]
+ $s1 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[16]
+ $s0 = MulS($t0 4 )
+ local[16] = $t0
$s0 = Add($s0 4 )
- $s0 = Add($s2 $s0 )
- $s2 = [$s0+0]
- [$s1+0] = $s2
- $s2 = [$s5+16]
- $s1 = MulS($s7 4 )
- $s1 = Add($s1 4 )
- $s1 = Add($s2 $s1 )
- [$s1+0] = $s4
- $s1 = [$s5+0]
- $s4 = $s3
- $s2 = 1
- $s0 = Sub($s4 $s2 )
- $s4 = $s6
- $s4 = $s0
- $s1 = [$s1+4]
+ $s0 = Add($s1 $s0 )
+ $t0 = local[14]
+ $s1 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[15]
+ $s4 = MulS($t0 4 )
+ local[15] = $t0
+ $s4 = Add($s4 4 )
+ $s4 = Add($s1 $s4 )
+ $s1 = [$s4+0]
+ [$s0+0] = $s1
+ $t0 = local[14]
+ $s1 = [$t0+16]
+ local[14] = $t0
+ $t0 = local[15]
+ $s0 = MulS($t0 4 )
+ local[15] = $t0
+ $s0 = Add($s0 4 )
+ $s0 = Add($s1 $s0 )
+ $t0 = local[18]
+ [$s0+0] = $t0
+ local[18] = $t0
+ $t0 = local[14]
+ $s0 = [$t0+0]
+ local[14] = $t0
+ $t0 = local[16]
+ $s1 = $t0
+ local[16] = $t0
+ $s4 = 1
+ $s6 = Sub($s1 $s4 )
+ $t0 = local[17]
+ $s1 = $t0
+ local[17] = $t0
+ $s1 = $s6
+ $s0 = [$s0+4]
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[14]
+ $a0 = $t0
+ local[14] = $t0
+ $a1 = $s4
+ $a2 = $s1
+ call $s0
$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]
+ $s6 = $v0
+ $s1 = $s6
+ $t0 = local[14]
+ $s6 = [$t0+0]
+ local[14] = $t0
+ $t0 = local[16]
+ $s4 = $t0
+ local[16] = $t0
+ $s0 = 1
+ $s3 = Add($s4 $s0 )
$s0 = $s3
- $s3 = 1
- $s2 = Add($s0 $s3 )
- $s3 = $s2
- $s2 = $s7
- $s4 = [$s4+4]
+ $t0 = local[15]
+ $s3 = $t0
+ local[15] = $t0
+ $s6 = [$s6+4]
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[14]
+ $a0 = $t0
+ local[14] = $t0
+ $a1 = $s0
+ $a2 = $s3
+ call $s6
$t3 = local[8]
$t4 = local[9]
$t5 = local[10]
$t6 = local[11]
$t7 = local[12]
$t8 = local[13]
- $s7 = $v0
- $s4 = $s7
+ $s4 = $v0
+ $s1 = $s4
goto :if22_end
if22_else:
- $s4 = 0
+ $s1 = 0
if22_end:
- $s7 = 0
- $v0 = $s7
+ $s1 = 0
+ $v0 = $s1
$s0 = local[0]
$s1 = local[1]
$s2 = local[2]
@@ -384,26 +616,26 @@ func QS_Print [in 0, out 0, local 14]
$s7 = 0
while104_test:
$s5 = $s7
- $s4 = [$s6+20]
- $s3 = LtS($s5 $s4 )
- $s4 = $s3
- if0 $s4 goto :while104_end
+ $s1 = [$s6+20]
+ $s2 = LtS($s5 $s1 )
+ $t7 = $s2
+ if0 $t7 goto :while104_end
while104_body:
- $s4 = [$s6+16]
- $s3 = MulS($s7 4 )
- $s3 = Add($s3 4 )
- $s3 = Add($s4 $s3 )
- $s4 = [$s3+0]
- $s3 = $s4
- PrintIntS($s3 )
- $s3 = $s7
- $s4 = 1
- $s5 = Add($s3 $s4 )
- $s7 = $s5
+ $t5 = [$s6+16]
+ $t6 = MulS($s7 4 )
+ $t6 = Add($t6 4 )
+ $t6 = Add($t5 $t6 )
+ $s0 = [$t6+0]
+ $t3 = $s0
+ PrintIntS($t3 )
+ $s4 = $s7
+ $s3 = 1
+ $t4 = Add($s4 $s3 )
+ $s7 = $t4
goto :while104_test
while104_end:
- $s6 = 0
- $v0 = $s6
+ $t3 = 0
+ $v0 = $t3
$s0 = local[0]
$s1 = local[1]
$s2 = local[2]