summaryrefslogtreecommitdiff
path: root/output/QuickSort.vapor
diff options
context:
space:
mode:
Diffstat (limited to 'output/QuickSort.vapor')
-rw-r--r--output/QuickSort.vapor699
1 files changed, 433 insertions, 266 deletions
diff --git a/output/QuickSort.vapor b/output/QuickSort.vapor
index 57389d6..1d0a9fe 100644
--- a/output/QuickSort.vapor
+++ b/output/QuickSort.vapor
@@ -2,12 +2,15 @@ func Main()
t.3 = HeapAllocZ(24)
[t.3+0] = :functable_QS
t.4 = t.3
- t.5 = [t.4+0]
+ t.5 = t.4
t.6 = [t.5+0]
- t.7 = 10
- t.2 = call t.6(t.4 t.7)
- t.8 = t.2
- PrintIntS(t.8)
+ t.7 = [t.6+0]
+ t.8 = 10
+ t.9 = t.8
+ t.2 = call t.7(t.5 t.9)
+ t.10 = t.2
+ t.11 = t.10
+ PrintIntS(t.11)
ret
const functable_QS
@@ -17,284 +20,448 @@ const functable_QS
:QS_Init
func QS_Start(this t.0 )
- t.3 = [this]
- t.4 = t.0
- t.3 = [t.3+12]
- t.2 = call t.3(this t.4)
- t.1 = t.2
- t.6 = [this]
- t.6 = [t.6+8]
- t.5 = call t.6(this )
- t.1 = t.5
- t.7 = 9999
- PrintIntS(t.7)
- t.9 = [this+20]
- t.10 = 1
- t.8 = Sub(t.9 t.10)
- t.1 = t.8
- t.12 = [this]
- t.13 = 0
- t.14 = t.1
- t.12 = [t.12+4]
- t.11 = call t.12(this t.13 t.14)
+ t.3 = this
+ t.4 = [this]
+ t.5 = t.0
+ t.6 = t.5
+ t.4 = [t.4+12]
+ t.2 = call t.4(this t.6)
+ t.7 = t.2
+ t.1 = t.7
+ t.9 = this
+ t.10 = [this]
+ t.10 = [t.10+8]
+ t.8 = call t.10(this)
+ t.11 = t.8
t.1 = t.11
- t.16 = [this]
- t.16 = [t.16+8]
- t.15 = call t.16(this )
- t.1 = t.15
- t.17 = 0
- ret t.17
+ t.12 = 9999
+ t.13 = t.12
+ t.14 = t.13
+ PrintIntS(t.14)
+ t.16 = [this+20]
+ t.17 = 1
+ t.15 = Sub(t.16 t.17)
+ t.18 = t.15
+ t.1 = t.18
+ t.20 = this
+ t.21 = [this]
+ t.22 = 0
+ t.23 = t.22
+ t.24 = t.1
+ t.25 = t.24
+ t.21 = [t.21+4]
+ t.19 = call t.21(this t.23 t.25)
+ t.26 = t.19
+ t.1 = t.26
+ t.28 = this
+ t.29 = [this]
+ t.29 = [t.29+8]
+ t.27 = call t.29(this)
+ t.30 = t.27
+ t.1 = t.30
+ t.31 = 0
+ t.32 = t.31
+ t.33 = t.32
+ ret t.33
func QS_Sort(this t.0 t.1 )
- t.2 = 0
- t.4 = t.0
- t.5 = t.1
- t.3 = LtS(t.4 t.5)
- t.6 = t.3
- if0 t.6 goto :if22_else
-if22_body:
- t.9 = [this+16]
- t.10 = MulS(t.1 4)
- t.10 = Add(t.10 4)
- t.10 = Add(t.9 t.10)
- t.8 = [t.10]
- t.7 = t.8
- t.13 = t.0
- t.14 = 1
- t.12 = Sub(t.13 t.14)
- t.11 = t.12
+ t.3 = 0
+ t.4 = t.3
+ t.2 = t.4
+ t.6 = t.0
+ t.7 = t.1
+ t.5 = LtS(t.6 t.7)
+ t.8 = t.5
+ t.9 = t.8
+ if0 t.9 goto :if43_else
+if43_body:
+ t.13 = [this+16]
+ t.12 = t.13
t.15 = t.1
- t.16 = 1
-while32_test:
- t.17 = t.16
- if0 t.17 goto :while32_end
-while32_body:
- t.18 = 1
-while34_test:
- t.19 = t.18
- if0 t.19 goto :while34_end
-while34_body:
- t.21 = t.11
- t.22 = 1
- t.20 = Add(t.21 t.22)
- t.11 = t.20
- t.25 = [this+16]
- t.26 = MulS(t.11 4)
- t.26 = Add(t.26 4)
- t.26 = Add(t.25 t.26)
- t.24 = [t.26]
- t.23 = t.24
- t.29 = t.23
- t.30 = t.7
- t.28 = LtS(t.29 t.30)
- t.27 = Eq(t.28 0)
- t.31 = t.27
- if0 t.31 goto :if42_else
-if42_body:
- t.18 = 0
- goto :if42_end
-if42_else:
- t.18 = 1
-if42_end:
- goto :while34_test
-while34_end:
- t.18 = 1
-while47_test:
- t.32 = t.18
- if0 t.32 goto :while47_end
-while47_body:
- t.34 = t.15
- t.35 = 1
- t.33 = Sub(t.34 t.35)
- t.15 = t.33
- t.37 = [this+16]
- t.38 = MulS(t.15 4)
- t.38 = Add(t.38 4)
- t.38 = Add(t.37 t.38)
- t.36 = [t.38]
- t.23 = t.36
- t.41 = t.7
- t.42 = t.23
- t.40 = LtS(t.41 t.42)
- t.39 = Eq(t.40 0)
- t.43 = t.39
- if0 t.43 goto :if55_else
-if55_body:
- t.18 = 0
- goto :if55_end
-if55_else:
- t.18 = 1
-if55_end:
- goto :while47_test
-while47_end:
- t.45 = [this+16]
- t.46 = MulS(t.11 4)
- t.46 = Add(t.46 4)
- t.46 = Add(t.45 t.46)
- t.44 = [t.46]
- t.2 = t.44
- t.47 = [this+16]
- t.48 = MulS(t.11 4)
- t.48 = Add(t.48 4)
- t.48 = Add(t.47 t.48)
- t.50 = [this+16]
- t.51 = MulS(t.15 4)
- t.51 = Add(t.51 4)
- t.51 = Add(t.50 t.51)
- t.49 = [t.51]
- [t.48] = t.49
- t.52 = [this+16]
- t.53 = MulS(t.15 4)
- t.53 = Add(t.53 4)
- t.53 = Add(t.52 t.53)
- [t.53] = t.2
- t.55 = t.15
- t.57 = t.11
- t.58 = 1
- t.56 = Add(t.57 t.58)
- t.59 = t.56
- t.54 = LtS(t.55 t.59)
- t.60 = t.54
- if0 t.60 goto :if70_else
-if70_body:
- t.16 = 0
- goto :if70_end
-if70_else:
- t.16 = 1
-if70_end:
- goto :while32_test
-while32_end:
- t.61 = [this+16]
- t.62 = MulS(t.15 4)
- t.62 = Add(t.62 4)
- t.62 = Add(t.61 t.62)
- t.64 = [this+16]
- t.65 = MulS(t.11 4)
- t.65 = Add(t.65 4)
- t.65 = Add(t.64 t.65)
- t.63 = [t.65]
- [t.62] = t.63
- t.66 = [this+16]
- t.67 = MulS(t.11 4)
- t.67 = Add(t.67 4)
- t.67 = Add(t.66 t.67)
- t.69 = [this+16]
- t.70 = MulS(t.1 4)
- t.70 = Add(t.70 4)
- t.70 = Add(t.69 t.70)
- t.68 = [t.70]
- [t.67] = t.68
- t.71 = [this+16]
- t.72 = MulS(t.1 4)
- t.72 = Add(t.72 4)
- t.72 = Add(t.71 t.72)
- [t.72] = t.2
- t.75 = [this]
- t.78 = t.11
- t.79 = 1
- t.77 = Sub(t.78 t.79)
- t.76 = t.0
- t.80 = t.77
- t.75 = [t.75+4]
- t.74 = call t.75(this t.79 t.80)
- t.73 = t.74
- t.82 = [this]
- t.84 = t.11
- t.85 = 1
- t.83 = Add(t.84 t.85)
- t.86 = t.83
- t.87 = t.1
- t.82 = [t.82+4]
- t.81 = call t.82(this t.86 t.87)
- t.73 = t.81
- goto :if22_end
-if22_else:
- t.73 = 0
-if22_end:
- t.88 = 0
- ret t.88
+ t.14 = MulS(t.15 4)
+ t.14 = Add(t.14 4)
+ t.14 = Add(t.12 t.14)
+ t.11 = [t.14]
+ t.16 = t.11
+ t.10 = t.16
+ t.19 = t.0
+ t.20 = 1
+ t.18 = Sub(t.19 t.20)
+ t.21 = t.18
+ t.17 = t.21
+ t.23 = t.1
+ t.24 = t.23
+ t.22 = t.24
+ t.26 = 1
+ t.27 = t.26
+ t.25 = t.27
+while62_test:
+ t.28 = t.25
+ t.29 = t.28
+ t.30 = t.29
+ if0 t.30 goto :while62_end
+while62_body:
+ t.32 = 1
+ t.33 = t.32
+ t.31 = t.33
+while68_test:
+ t.34 = t.31
+ t.35 = t.34
+ t.36 = t.35
+ if0 t.36 goto :while68_end
+while68_body:
+ t.38 = t.17
+ t.39 = 1
+ t.37 = Add(t.38 t.39)
+ t.40 = t.37
+ t.17 = t.40
+ t.44 = [this+16]
+ t.43 = t.44
+ t.46 = t.17
+ t.45 = MulS(t.46 4)
+ t.45 = Add(t.45 4)
+ t.45 = Add(t.43 t.45)
+ t.42 = [t.45]
+ t.47 = t.42
+ t.41 = t.47
+ t.50 = t.41
+ t.51 = t.10
+ t.49 = LtS(t.50 t.51)
+ t.52 = t.49
+ t.53 = t.52
+ t.54 = t.53
+ t.48 = Eq(t.54 0)
+ t.55 = t.48
+ t.56 = t.55
+ t.57 = t.56
+ if0 t.57 goto :if82_else
+if82_body:
+ t.58 = 0
+ t.59 = t.58
+ t.31 = t.59
+ goto :if82_end
+if82_else:
+ t.60 = 1
+ t.61 = t.60
+ t.31 = t.61
+if82_end:
+ goto :while68_test
+while68_end:
+ t.62 = 1
+ t.63 = t.62
+ t.31 = t.63
+while98_test:
+ t.64 = t.31
+ t.65 = t.64
+ t.66 = t.65
+ if0 t.66 goto :while98_end
+while98_body:
+ t.68 = t.22
+ t.69 = 1
+ t.67 = Sub(t.68 t.69)
+ t.70 = t.67
+ t.22 = t.70
+ t.73 = [this+16]
+ t.72 = t.73
+ t.75 = t.22
+ t.74 = MulS(t.75 4)
+ t.74 = Add(t.74 4)
+ t.74 = Add(t.72 t.74)
+ t.71 = [t.74]
+ t.76 = t.71
+ t.41 = t.76
+ t.79 = t.10
+ t.80 = t.41
+ t.78 = LtS(t.79 t.80)
+ t.81 = t.78
+ t.82 = t.81
+ t.83 = t.82
+ t.77 = Eq(t.83 0)
+ t.84 = t.77
+ t.85 = t.84
+ t.86 = t.85
+ if0 t.86 goto :if112_else
+if112_body:
+ t.87 = 0
+ t.88 = t.87
+ t.31 = t.88
+ goto :if112_end
+if112_else:
+ t.89 = 1
+ t.90 = t.89
+ t.31 = t.90
+if112_end:
+ goto :while98_test
+while98_end:
+ t.93 = [this+16]
+ t.92 = t.93
+ t.95 = t.17
+ t.94 = MulS(t.95 4)
+ t.94 = Add(t.94 4)
+ t.94 = Add(t.92 t.94)
+ t.91 = [t.94]
+ t.96 = t.91
+ t.2 = t.96
+ t.97 = [this+16]
+ t.99 = t.17
+ t.100 = t.99
+ t.98 = MulS(t.100 4)
+ t.98 = Add(t.98 4)
+ t.98 = Add(t.97 t.98)
+ t.103 = [this+16]
+ t.102 = t.103
+ t.105 = t.22
+ t.104 = MulS(t.105 4)
+ t.104 = Add(t.104 4)
+ t.104 = Add(t.102 t.104)
+ t.101 = [t.104]
+ t.106 = t.101
+ [t.98] = t.106
+ t.107 = [this+16]
+ t.109 = t.22
+ t.110 = t.109
+ t.108 = MulS(t.110 4)
+ t.108 = Add(t.108 4)
+ t.108 = Add(t.107 t.108)
+ t.111 = t.2
+ t.112 = t.111
+ [t.108] = t.112
+ t.114 = t.22
+ t.116 = t.17
+ t.117 = 1
+ t.115 = Add(t.116 t.117)
+ t.118 = t.115
+ t.119 = t.118
+ t.113 = LtS(t.114 t.119)
+ t.120 = t.113
+ t.121 = t.120
+ if0 t.121 goto :if148_else
+if148_body:
+ t.122 = 0
+ t.123 = t.122
+ t.25 = t.123
+ goto :if148_end
+if148_else:
+ t.124 = 1
+ t.125 = t.124
+ t.25 = t.125
+if148_end:
+ goto :while62_test
+while62_end:
+ t.126 = [this+16]
+ t.128 = t.22
+ t.129 = t.128
+ t.127 = MulS(t.129 4)
+ t.127 = Add(t.127 4)
+ t.127 = Add(t.126 t.127)
+ t.132 = [this+16]
+ t.131 = t.132
+ t.134 = t.17
+ t.133 = MulS(t.134 4)
+ t.133 = Add(t.133 4)
+ t.133 = Add(t.131 t.133)
+ t.130 = [t.133]
+ t.135 = t.130
+ [t.127] = t.135
+ t.136 = [this+16]
+ t.138 = t.17
+ t.139 = t.138
+ t.137 = MulS(t.139 4)
+ t.137 = Add(t.137 4)
+ t.137 = Add(t.136 t.137)
+ t.142 = [this+16]
+ t.141 = t.142
+ t.144 = t.1
+ t.143 = MulS(t.144 4)
+ t.143 = Add(t.143 4)
+ t.143 = Add(t.141 t.143)
+ t.140 = [t.143]
+ t.145 = t.140
+ [t.137] = t.145
+ t.146 = [this+16]
+ t.148 = t.1
+ t.149 = t.148
+ t.147 = MulS(t.149 4)
+ t.147 = Add(t.147 4)
+ t.147 = Add(t.146 t.147)
+ t.150 = t.2
+ t.151 = t.150
+ [t.147] = t.151
+ t.154 = this
+ t.155 = [this]
+ t.156 = t.0
+ t.157 = t.156
+ t.159 = t.17
+ t.160 = 1
+ t.158 = Sub(t.159 t.160)
+ t.161 = t.158
+ t.155 = [t.155+4]
+ t.153 = call t.155(this t.157 t.161)
+ t.162 = t.153
+ t.152 = t.162
+ t.164 = this
+ t.165 = [this]
+ t.167 = t.17
+ t.168 = 1
+ t.166 = Add(t.167 t.168)
+ t.169 = t.166
+ t.170 = t.1
+ t.171 = t.170
+ t.165 = [t.165+4]
+ t.163 = call t.165(this t.169 t.171)
+ t.172 = t.163
+ t.152 = t.172
+ goto :if43_end
+if43_else:
+ t.173 = 0
+ t.174 = t.173
+ t.152 = t.174
+if43_end:
+ t.175 = 0
+ t.176 = t.175
+ t.177 = t.176
+ ret t.177
func QS_Print(this )
- t.0 = 0
-while104_test:
- t.2 = t.0
- t.3 = [this+20]
- t.1 = LtS(t.2 t.3)
- t.4 = t.1
- if0 t.4 goto :while104_end
-while104_body:
- t.6 = [this+16]
- t.7 = MulS(t.0 4)
- t.7 = Add(t.7 4)
- t.7 = Add(t.6 t.7)
- t.5 = [t.7]
- t.8 = t.5
- PrintIntS(t.8)
- t.10 = t.0
- t.11 = 1
- t.9 = Add(t.10 t.11)
- t.0 = t.9
- goto :while104_test
-while104_end:
- t.12 = 0
- ret t.12
+ t.1 = 0
+ t.2 = t.1
+ t.0 = t.2
+while214_test:
+ t.4 = t.0
+ t.5 = [this+20]
+ t.6 = t.5
+ t.7 = t.6
+ t.3 = LtS(t.4 t.7)
+ t.8 = t.3
+ t.9 = t.8
+ if0 t.9 goto :while214_end
+while214_body:
+ t.12 = [this+16]
+ t.11 = t.12
+ t.14 = t.0
+ t.13 = MulS(t.14 4)
+ t.13 = Add(t.13 4)
+ t.13 = Add(t.11 t.13)
+ t.10 = [t.13]
+ t.15 = t.10
+ t.16 = t.15
+ PrintIntS(t.16)
+ t.18 = t.0
+ t.19 = 1
+ t.17 = Add(t.18 t.19)
+ t.20 = t.17
+ t.0 = t.20
+ goto :while214_test
+while214_end:
+ t.21 = 0
+ t.22 = t.21
+ t.23 = t.22
+ ret t.23
func QS_Init(this t.0 )
- [this+20] = t.0
- t.1 = call :AllocArray(t.0)
- [this+16] = t.1
- t.2 = [this+16]
- t.3 = MulS(0 4)
- t.3 = Add(t.3 4)
- t.3 = Add(t.2 t.3)
- [t.3] = 20
- t.4 = [this+16]
- t.5 = MulS(1 4)
- t.5 = Add(t.5 4)
- t.5 = Add(t.4 t.5)
- [t.5] = 7
- t.6 = [this+16]
- t.7 = MulS(2 4)
- t.7 = Add(t.7 4)
- t.7 = Add(t.6 t.7)
- [t.7] = 12
+ t.1 = t.0
+ t.2 = t.1
+ [this+20] = t.2
+ t.3 = t.0
+ t.4 = t.3
+ t.5 = call :AllocArray(t.4)
+ t.6 = t.5
+ t.7 = t.6
+ [this+16] = t.7
t.8 = [this+16]
- t.9 = MulS(3 4)
+ t.10 = 0
+ t.11 = t.10
+ t.9 = MulS(t.11 4)
t.9 = Add(t.9 4)
t.9 = Add(t.8 t.9)
- [t.9] = 18
- t.10 = [this+16]
- t.11 = MulS(4 4)
- t.11 = Add(t.11 4)
- t.11 = Add(t.10 t.11)
- [t.11] = 2
- t.12 = [this+16]
- t.13 = MulS(5 4)
- t.13 = Add(t.13 4)
- t.13 = Add(t.12 t.13)
- [t.13] = 11
+ t.12 = 20
+ t.13 = t.12
+ [t.9] = t.13
t.14 = [this+16]
- t.15 = MulS(6 4)
+ t.16 = 1
+ t.17 = t.16
+ t.15 = MulS(t.17 4)
t.15 = Add(t.15 4)
t.15 = Add(t.14 t.15)
- [t.15] = 6
- t.16 = [this+16]
- t.17 = MulS(7 4)
- t.17 = Add(t.17 4)
- t.17 = Add(t.16 t.17)
- [t.17] = 9
- t.18 = [this+16]
- t.19 = MulS(8 4)
- t.19 = Add(t.19 4)
- t.19 = Add(t.18 t.19)
- [t.19] = 19
+ t.18 = 7
+ t.19 = t.18
+ [t.15] = t.19
t.20 = [this+16]
- t.21 = MulS(9 4)
+ t.22 = 2
+ t.23 = t.22
+ t.21 = MulS(t.23 4)
t.21 = Add(t.21 4)
t.21 = Add(t.20 t.21)
- [t.21] = 5
- t.22 = 0
- ret t.22
+ t.24 = 12
+ t.25 = t.24
+ [t.21] = t.25
+ t.26 = [this+16]
+ t.28 = 3
+ t.29 = t.28
+ t.27 = MulS(t.29 4)
+ t.27 = Add(t.27 4)
+ t.27 = Add(t.26 t.27)
+ t.30 = 18
+ t.31 = t.30
+ [t.27] = t.31
+ t.32 = [this+16]
+ t.34 = 4
+ t.35 = t.34
+ t.33 = MulS(t.35 4)
+ t.33 = Add(t.33 4)
+ t.33 = Add(t.32 t.33)
+ t.36 = 2
+ t.37 = t.36
+ [t.33] = t.37
+ t.38 = [this+16]
+ t.40 = 5
+ t.41 = t.40
+ t.39 = MulS(t.41 4)
+ t.39 = Add(t.39 4)
+ t.39 = Add(t.38 t.39)
+ t.42 = 11
+ t.43 = t.42
+ [t.39] = t.43
+ t.44 = [this+16]
+ t.46 = 6
+ t.47 = t.46
+ t.45 = MulS(t.47 4)
+ t.45 = Add(t.45 4)
+ t.45 = Add(t.44 t.45)
+ t.48 = 6
+ t.49 = t.48
+ [t.45] = t.49
+ t.50 = [this+16]
+ t.52 = 7
+ t.53 = t.52
+ t.51 = MulS(t.53 4)
+ t.51 = Add(t.51 4)
+ t.51 = Add(t.50 t.51)
+ t.54 = 9
+ t.55 = t.54
+ [t.51] = t.55
+ t.56 = [this+16]
+ t.58 = 8
+ t.59 = t.58
+ t.57 = MulS(t.59 4)
+ t.57 = Add(t.57 4)
+ t.57 = Add(t.56 t.57)
+ t.60 = 19
+ t.61 = t.60
+ [t.57] = t.61
+ t.62 = [this+16]
+ t.64 = 9
+ t.65 = t.64
+ t.63 = MulS(t.65 4)
+ t.63 = Add(t.63 4)
+ t.63 = Add(t.62 t.63)
+ t.66 = 5
+ t.67 = t.66
+ [t.63] = t.67
+ t.68 = 0
+ t.69 = t.68
+ t.70 = t.69
+ ret t.70
func AllocArray(size)
bytes = MulS(size 4)