-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathproblem179.whirl
224 lines (224 loc) · 41.1 KB
/
problem179.whirl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
110000111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001111100111100001000011100 // Initialize negative one constant
11110011111111110011100000000000000 // Seek to limit
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant one zero zero zero zero zero zero one
110011111111110011111000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Seek to i
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two
110011111111110011111000000 // Seek to j
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two
11001111111111001111100000000000000000000000000000000000000 // Seek to condition
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
00111110000111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [j]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant one two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Prepare for array jump
0011111110000111110000111111111000011100001111111111001001111111001111111111000011100110011111111110011111000000111111001111100111100001000011100111100111111111100111000000000010011111110011111111111001111100001111111110000111000011111110000111110000000000000000000000000000000000001111111110000111000000000000000000000000000000000000001100 // Get array value into array-value
1111111001111111111001111100000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [j]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two six
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100111111100111111111100111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Prepare for array jump
10011111110011111111111001111100001111111110000111000011111111110000111111111000011111000000110000111111111100001111110011111001111000010000111001111001111111111001110000001000011111111111000000001100111111100111111111100111110010011111001111111111000011100111100111111111100111000011111110000111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Set array value to [i]
001111111000011111000000111111001111100111100001111100001111111111100 // [j]++
0011110000111100001111100001111111111100 // [j]++
0011111111111001100111111111110011111000000000000000000000000000000000000001100 // Assign [condition] = [j]
111111100111111111100111110000000000000000000000000000001001111111001111111111100111110000000000000000111111111000011100000000000000000000000000000000000000000000001111111100111110011111100 // [condition] = ([limit] < [condition])
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111110000111002222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 // put constant minus four four eight six
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
001111100001111100000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Seek to i
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant three
1100111111111100111110000000000000000000000000000000000000000000000 // Seek to condition
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
001111100001111100000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant one two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Prepare for array jump
0011111110000111110000111111111000011100001111111111001001111111001111111111000011100110011111111110011111000000111111001111100111100001000011100111100111111111100111000000000010011111110011111111111001111100001111111110000111000011111110000111110000000000000000000000000000000000001111111110000111000000000000000000000000000000000000001100 // Get array value into array-value
111110011111111111000011111111100000000111100 // Boolify [array-value]
110011111111110011111000000 // Seek to temporary-one
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant three five two eight
0011111111111001100111111111110011111000000000000000000000000000000001111111110000111000000000000000000000000000000000000001111001111100111111111100 // [array-value] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (If)
00111110000111110000000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000001100 // Assign [j] = [i]
1111111001111111111001111100000000000000000000000000000000000000 // Seek to condition
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
00111110000111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [j]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two six
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100111111100111111111100111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Prepare for array jump
10011111110011111111111001111100001111111110000111000011111111110000111111111000011111000000110000111111111100001111110011111001111000010000111001111001111111111001110000001000011111111111000000001100111111100111111111100111110010011111001111111111000011100111100111111111100111000011111110000111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Set array value to [i]
1001111111001111111111100111110000001110011111001111111111100 // [j] += [i]
0011111111111001100111111111110011111000000000000000000000000000000000000001100 // Assign [condition] = [j]
111111100111111111100111110000000000000000000000000000001001111111001111111111100111110000000000000000111111111000011100000000000000000000000000000000000000000000001111111100111110011111100 // [condition] = ([limit] < [condition])
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111000011100222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 // put constant minus three one five zero
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
0011111000011111000000 // Seek to array-value
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Endif)
0011111000011111000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001111100111100001111100001111111111100 // [i]++
0011110000111100001111100001111111111100 // [i]++
001111111111100110011111111111001111100000000000000000000000000000000000000000000001100 // Assign [condition] = [i]
111111100111111111100111110000000000000000000000000000001001111111001111111111100111110000000000000000111111111000011100000000000000000000000000000000000000000000001111111100111110011111100 // [condition] = ([limit] < [condition])
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111100001110022222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 // put constant minus seven four four nine
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
001111100001111100000000000000000000000000000000000000 // Seek to constant
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant one
1100111111111100111110000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Seek to i
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant one
0011111111111001100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant four
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000011001111111001111111111001111100001111111110000111000000 // Prepare for array jump
100111111100111111111110011111000011111111100001110000111111111100001111111110000111110000001100001111111111000011111100111110011110000100001110011110011111111110011100000010000111111111110000000011001111111001111111111001111100100111110011111111110000111001111001111111111001110000111111100001111100001111111110000111000000 // Set array value to [constant]
0011111110000111110000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Seek to i
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two
1100111111111100111110000000000000000000000000000000000000000000000 // Seek to condition
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
001111100001111100000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant two two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000011001111111001111111111001111100000000000000000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000 // Prepare for array jump
001111111000011111000011111111100001110000111111111100100111111100111111111100001110011001111111111001111100000011111100111110011110000100001110011110011111111110011100000000001001111111001111111111100111110000111111111000011100001111111000011111000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000001100 // Get array value into p
11111110011111111110011111000000 // Seek to valuation
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant one
1100111111111100111110000000000000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000001100 // Assign [prime-power] = [p]
1111111001111111111001111100000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001100 // Assign [condition] = [i]
111111100111111111100111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000000000000000000000000000001100 // Assign [temporary-one] = [prime-power]
1111111001111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001111001111100111111111100 // [temporary-one] *= [p]
00111111111110011001111111111100111110000001100 // Assign [temporary-two] = [temporary-one]
111111100111111111100111110000000000000000000000001111111110000111000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000001111100111110011111111100 // [temporary-two] = [condition] / [temporary-two]
11001111111111001111100000000000000000000000011111111100001110000000000000000000000000000001001111111001111111111100111110000001111001111100111111111100 // [temporary-two] *= [temporary-one]
001111111111100001111111111000011100 // [temporary-two] = - [temporary-two]
0011111111111001100111111111110011111000000000000000000000000111111111000011100000000000000000000000000000000000000000000001110011111001111111111100 // [condition] += [temporary-two]
001111111111100001111111110000111100 // [condition] = NOT [condition]
001111111111100001111111110000111100 // [condition] = NOT [condition]
11001111111111001111100000000000000 // Seek to temporary-one
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant three zero one six
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (If)
0011111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
00111110000111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000001111001111100111111111100 // [prime-power] *= [p]
110011111111110011111000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000111111001111100111100001111100001111111111100 // [valuation]++
1100111111111100111110000000000000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001100 // Assign [condition] = [i]
111111100111111111100111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000000000000000000000000000001100 // Assign [temporary-one] = [prime-power]
1111111001111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001111001111100111111111100 // [temporary-one] *= [p]
00111111111110011001111111111100111110000001100 // Assign [temporary-two] = [temporary-one]
111111100111111111100111110000000000000000000000001111111110000111000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000001111100111110011111111100 // [temporary-two] = [condition] / [temporary-two]
11001111111111001111100000000000000000000000011111111100001110000000000000000000000000000001001111111001111111111100111110000001111001111100111111111100 // [temporary-two] *= [temporary-one]
001111111111100001111111111000011100 // [temporary-two] = - [temporary-two]
0011111111111001100111111111110011111000000000000000000000000111111111000011100000000000000000000000000000000000000000000001110011111001111111111100 // [condition] += [temporary-two]
001111111111100001111111110000111100 // [condition] = NOT [condition]
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111110000111002222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 // put constant minus two nine three four
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
0011111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Endif)
001111100001111100000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100 // Assign [j] = [prime-power]
111111100111111111100111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001111111001111111111100111110000001111100111110011111111100 // [j] = [i] / [j]
00111111111110011001111111111100111110000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [j]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant one two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Prepare for array jump
0011111110000111110000111111111000011100001111111111001001111111001111111111000011100110011111111110011111000000111111001111100111100001000011100111100111111111100111000000000010011111110011111111111001111100001111111110000111000011111110000111110000000000000000000000000000000000001111111110000111000000000000000000000000000000000000001100 // Get array value into array-value
11111110011111111110011111000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000000000000000000000000000001100 // Assign [temporary-one] = [valuation]
111110011110000111100001111100001111111111100 // [temporary-one]++
0011111111111001100111111111110011111000000000000000000000000000000001111111110000111000000000000000000000000000000000000001111001111100111111111100 // [array-value] *= [temporary-one]
110011111111110011111000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant one two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Prepare for array jump
1001111111001111111111100111110000111111111000011100001111111111000011111111100001111100000011000011111111110000111111001111100111100001000011100111100111111111100111000000100001111111111100000000110011111110011111111110011111001001111100111111111100001110011110011111111110011100001111111000011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Set array value to [array-value]
001111111000011111000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001111100111100001111100001111111111100 // [i]++
001111111111100110011111111111001111100000000000000000000000000000000000000000000001100 // Assign [condition] = [i]
111111100111111111100111110000000000000000000000000000001001111111001111111111100111110000000000000000111111111000011100000000000000000000000000000000000000000000001111111100111110011111100 // [condition] = ([limit] < [condition])
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111000011100222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 // put constant minus one two four two nine
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
00111110000111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000 // Seek to total
11111100111110011111111000000 // put constant zero
110011111111110011111000000000000000000000000000000000000000000000000000000100111111111001111111111100111000000000000001110011111001111111111100 // [limit] += [minus-one]
110011111111110011111000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Seek to i
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant one
1100111111111100111110000000000000000000000000000000000000000000000 // Seek to condition
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Do while)
001111100001111100000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100111111100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant two four
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000 // Prepare for array jump
0011111110000111110000111111111000011100001111111111001001111111001111111111000011100110011111111110011111000000111111001111100111100001000011100111100111111111100111000000000010011111110011111111111001111100001111111110000111000011111110000111110000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100 // Get array value into j
11111110011111111110011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111001111100111100001111100001111111111100 // [i]++
0011111111111001100111111111110011111000000000000000000000000000000000000000000000000000000000000001100 // Assign [temporary-one] = [i]
11111001111111111100001100001111111111100110011111111110011111000000 // Seek to temporary-two
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000000 // put constant one two
001111111111100110011111111111001111100000000000000000000000011111111100001110000000000000000000000000000001110011111001111111111100 // [temporary-one] += [temporary-two]
00111111111110011001111111111100111110000000000000000000000000000000011111111100001110000000000000000000000000000000000110011111110011111111110011111000000000000000000000000000000000000111111111000011100000000000000000000000000000000000000 // Prepare for array jump
0011111110000111110000111111111000011100001111111111001001111111001111111111000011100110011111111110011111000000111111001111100111100001000011100111100111111111100111000000000010011111110011111111111001111100001111111110000111000011111110000111110000000000000000000000000000000000001111111110000111000000000000000000000000000000000000001100 // Get array value into array-value
11111110011111111110011111000000000000000000000000000000000000000011111111100001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001111111110011111001111100 // [array-value] = ([j] == [array-value])
001111111111100001111111110000111100 // [array-value] = NOT [array-value]
110011111111110011111000000 // Seek to temporary-one
11111100111110011111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000000 // put constant two four nine
0011111111111001100111111111110011111000000000000000000000000000000001111111110000111000000000000000000000000000000000000001111001111100111111111100 // [array-value] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (If)
001111100001111100000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000111111001111100111100001111100001111111111100 // [total]++
11001111111111001111100000000000000 // Seek to array-value
001111111100001100 // Zero out condition variable
0011111110000 // Reset rings to noop
11111111100 // Trivial jump (Endif)
001111100001111100000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010011111110011111111111001111100000000000000000000000000000000000000000000001100 // Assign [condition] = [i]
111111100111111111100111110000000000000000000000000000001001111111001111111111100111110000000000000000111111111000011100000000000000000000000000000000000000000000001111111100111110011111100 // [condition] = ([limit] < [condition])
11001111111111001111100000000000000 // Seek to temporary-one
111111001111100111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011111111111000011000011111111111000011110000111100001111100001111111111100001111111111100001100001111111111100001111111110000111002222222222222222222222222222222222222222222222222222222222222222222 // put constant minus five eight seven four
001111111111100110011111111111001111100000000000000000000000000000000111111111000011100000000000000000000000000000000000000000000001111001111100111111111100 // [condition] *= [temporary-one]
111100 // Load condition variable
111111111100111111110000 // Reset rings to noop
11111111100 // Conditional jump (End do while)
00111110000111110000000000000000000000000000000000000000000000001111111110000111000000000000000000000000000000000000000000000000000000 // Seek to total
00111111100001111111100 // Print integer to stdout
0011110000111110000000000000000000000000000000000000000000000 // Seek to constant
1111110011111001111111100001111111111100001100001111111111100001111000011110000111110000111111111110000111111111110000110000111111111110000111111111110000110000111111111110000111100001111000011111000011111111111000011111111111000011000011111111111000000 // put constant one zero
110011111111110011111111100 // Print ASCII to stdout