-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathraw.ir
428 lines (428 loc) · 10.3 KB
/
raw.ir
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
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
p n(null) {
p_0_block_enter
n(null) = mov t65(rdi)
t66(null) = mov n(null)
t66(null) = t66(null) SUB 1
t67(null) = mov n(null)
t67(null) = t67(null) MOD t66(null)
t68(null) = mov n(null)
t68(null) = t68(null) SUB 2
t69(null) = mov t67(null)
t69(null) = t69(null) MOD t68(null)
t70(null) = mov n(null)
t70(null) = t70(null) SUB 3
t71(null) = mov t69(null)
t71(null) = t71(null) MOD t70(null)
t72(null) = mov n(null)
t72(null) = t72(null) SUB 4
t73(null) = mov t71(null)
t73(null) = t73(null) MOD t72(null)
t74(null) = mov n(null)
t74(null) = t74(null) SUB 5
t75(null) = mov t73(null)
t75(null) = t75(null) MOD t74(null)
t76(null) = mov n(null)
t76(null) = t76(null) SUB 6
t77(null) = mov t75(null)
t77(null) = t77(null) MOD t76(null)
t78(null) = mov n(null)
t78(null) = t78(null) SUB 7
t79(null) = mov t77(null)
t79(null) = t79(null) MOD t78(null)
t80(null) = mov n(null)
t80(null) = t80(null) SUB 8
t81(null) = mov t79(null)
t81(null) = t81(null) MOD t80(null)
t82(null) = mov n(null)
t82(null) = t82(null) SUB 9
t83(null) = mov t81(null)
t83(null) = t83(null) MOD t82(null)
t84(null) = mov n(null)
t84(null) = t84(null) SUB 10
t85(null) = mov t83(null)
t85(null) = t85(null) MOD t84(null)
t86(null) = mov n(null)
t86(null) = t86(null) SUB 11
t87(null) = mov t85(null)
t87(null) = t87(null) MOD t86(null)
t88(null) = mov n(null)
t88(null) = t88(null) SUB 12
t89(null) = mov t87(null)
t89(null) = t89(null) MOD t88(null)
t90(null) = mov n(null)
t90(null) = t90(null) SUB 13
t91(null) = mov t89(null)
t91(null) = t91(null) MOD t90(null)
t92(null) = mov n(null)
t92(null) = t92(null) SUB 14
t93(null) = mov t91(null)
t93(null) = t93(null) MOD t92(null)
t94(null) = mov n(null)
t94(null) = t94(null) SUB 15
t95(null) = mov t93(null)
t95(null) = t95(null) MOD t94(null)
t96(null) = mov n(null)
t96(null) = t96(null) SUB 16
t97(null) = mov t95(null)
t97(null) = t97(null) MOD t96(null)
t98(null) = mov n(null)
t98(null) = t98(null) SUB 17
t99(null) = mov t97(null)
t99(null) = t99(null) MOD t98(null)
t100(null) = mov n(null)
t100(null) = t100(null) SUB 18
t101(null) = mov t99(null)
t101(null) = t101(null) MOD t100(null)
t102(null) = mov n(null)
t102(null) = t102(null) SUB 19
t103(null) = mov t101(null)
t103(null) = t103(null) MOD t102(null)
t104(null) = mov n(null)
t104(null) = t104(null) SUB 20
t105(null) = mov t103(null)
t105(null) = t105(null) MOD t104(null)
ret t105(null)
jump p_1_block_exit
p_1_block_exit
}
__global_init {
__global_init_0_block_enter
jump __global_init_1_block_exit
__global_init_1_block_exit
}
f n(null) {
f_0_block_enter
n(null) = mov t0(rdi)
t2(rdi) = mov n(null)
call g return value = t1(rax)
t3(null) = mov t1(rax)
ret t3(null)
jump f_1_block_exit
f_1_block_exit
}
g n(null) {
g_0_block_enter
n(null) = mov t4(rdi)
t6(rdi) = mov n(null)
call h return value = t5(rax)
t7(null) = mov t5(rax)
ret t7(null)
jump g_1_block_exit
g_1_block_exit
}
h n(null) {
h_0_block_enter
n(null) = mov t8(rdi)
t10(rdi) = mov n(null)
call p return value = t9(rax)
t11(null) = mov t9(rax)
ret t11(null)
jump h_1_block_exit
h_1_block_exit
}
main {
main_0_block_enter
l1(null) = mov 0
l2(null) = mov l1(null)
l3(null) = mov l2(null)
l4(null) = mov l3(null)
l5(null) = mov l4(null)
l6(null) = mov l5(null)
l7(null) = mov l6(null)
l8(null) = mov l7(null)
l9(null) = mov l8(null)
call getInt return value = t12(rax)
t13(null) = mov t12(rax)
T(null) = mov t13(null)
ans(null) = mov 0
l10(null) = mov 0
l11(null) = mov l10(null)
l12(null) = mov l11(null)
l13(null) = mov l12(null)
l14(null) = mov l13(null)
l15(null) = mov l14(null)
l16(null) = mov l15(null)
l17(null) = mov l16(null)
l18(null) = mov l17(null)
l19(null) = mov l18(null)
l20(null) = mov l19(null)
i(null) = mov 0
jump main_1_loop_condition
main_1_loop_condition
cmp i(null) T(null)
set LE t14(null)
cmp t14(null) 1
CJump EQ main_2_loop_body
jump main_57_loop_exit
main_2_loop_body
j(null) = mov 0
jump main_3_loop_condition
main_3_loop_condition
cmp j(null) T(null)
set LE t15(null)
cmp t15(null) 1
CJump EQ main_4_loop_body
jump main_55_loop_exit
main_4_loop_body
k(null) = mov 0
jump main_5_loop_condition
main_5_loop_condition
cmp k(null) T(null)
set LE t16(null)
cmp t16(null) 1
CJump EQ main_6_loop_body
jump main_53_loop_exit
main_6_loop_body
cmp i(null) 0
set GR t22(null)
cmp t22(null) 1
CJump NEQ main_8_logical_false
jump main_7_logical_true
main_7_logical_true
t23(null) = mov i(null)
t23(null) = t23(null) MOD 199
cmp t23(null) 0
set EQ t24(null)
t21(null) = mov t24(null)
jump main_9_logical_exit
main_8_logical_false
t21(null) = mov 0
jump main_9_logical_exit
main_9_logical_exit
cmp t21(null) 1
CJump NEQ main_11_logical_false
jump main_28_logical_true
main_10_logical_true
t20(null) = mov 1
jump main_15_logical_exit
main_11_logical_false
cmp j(null) 0
set GR t26(null)
cmp t26(null) 1
CJump NEQ main_13_logical_false
jump main_12_logical_true
main_12_logical_true
t27(null) = mov j(null)
t27(null) = t27(null) MOD 199
cmp t27(null) 0
set EQ t28(null)
t25(null) = mov t28(null)
jump main_14_logical_exit
main_13_logical_false
t25(null) = mov 0
jump main_14_logical_exit
main_14_logical_exit
t20(null) = mov t25(null)
jump main_15_logical_exit
main_15_logical_exit
cmp t20(null) 1
CJump NEQ main_17_logical_false
jump main_28_logical_true
main_16_logical_true
t19(null) = mov 1
jump main_21_logical_exit
main_17_logical_false
cmp k(null) 0
set GR t30(null)
cmp t30(null) 1
CJump NEQ main_19_logical_false
jump main_18_logical_true
main_18_logical_true
t31(null) = mov k(null)
t31(null) = t31(null) MOD 199
cmp t31(null) 0
set EQ t32(null)
t29(null) = mov t32(null)
jump main_20_logical_exit
main_19_logical_false
t29(null) = mov 0
jump main_20_logical_exit
main_20_logical_exit
t19(null) = mov t29(null)
jump main_21_logical_exit
main_21_logical_exit
cmp t19(null) 1
CJump NEQ main_23_logical_false
jump main_28_logical_true
main_22_logical_true
t18(null) = mov 1
jump main_27_logical_exit
main_23_logical_false
t34(null) = mov i(null)
t34(null) = t34(null) ADD j(null)
t35(null) = mov t34(null)
t35(null) = t35(null) ADD k(null)
cmp t35(null) 0
set GR t36(null)
cmp t36(null) 1
CJump NEQ main_25_logical_false
jump main_24_logical_true
main_24_logical_true
t37(null) = mov k(null)
t37(null) = t37(null) MOD 199
cmp t37(null) 0
set EQ t38(null)
t33(null) = mov t38(null)
jump main_26_logical_exit
main_25_logical_false
t33(null) = mov 0
jump main_26_logical_exit
main_26_logical_exit
t18(null) = mov t33(null)
jump main_27_logical_exit
main_27_logical_exit
cmp t18(null) 1
CJump NEQ main_29_logical_false
jump main_28_logical_true
main_28_logical_true
t17(null) = mov 1
jump main_33_logical_exit
main_29_logical_false
t40(null) = mov i(null)
t40(null) = t40(null) MUL j(null)
t41(null) = mov t40(null)
t41(null) = t41(null) MUL k(null)
cmp t41(null) 0
set GR t42(null)
cmp t42(null) 1
CJump NEQ main_31_logical_false
jump main_30_logical_true
main_30_logical_true
t43(null) = mov k(null)
t43(null) = t43(null) MOD 199
cmp t43(null) 0
set EQ t44(null)
t39(null) = mov t44(null)
jump main_32_logical_exit
main_31_logical_false
t39(null) = mov 0
jump main_32_logical_exit
main_32_logical_exit
t17(null) = mov t39(null)
jump main_33_logical_exit
main_33_logical_exit
f1(null) = mov t17(null)
f2(null) = mov t17(null)
f3(null) = mov t17(null)
f4(null) = mov t17(null)
f5(null) = mov t17(null)
f6(null) = mov t17(null)
cmp f1(null) 1
CJump EQ main_34_if_true
jump main_35_if_false
main_34_if_true
t45(null) = mov ans(null)
INC ans(null)
jump main_36_if_exit
main_35_if_false
jump main_36_if_exit
main_36_if_exit
cmp f2(null) 1
CJump EQ main_37_if_true
jump main_38_if_false
main_37_if_true
t46(null) = mov ans(null)
INC ans(null)
jump main_39_if_exit
main_38_if_false
jump main_39_if_exit
main_39_if_exit
cmp f3(null) 1
CJump EQ main_40_if_true
jump main_41_if_false
main_40_if_true
t47(null) = mov ans(null)
INC ans(null)
jump main_42_if_exit
main_41_if_false
jump main_42_if_exit
main_42_if_exit
cmp f4(null) 1
CJump EQ main_43_if_true
jump main_44_if_false
main_43_if_true
t48(null) = mov ans(null)
INC ans(null)
jump main_45_if_exit
main_44_if_false
jump main_45_if_exit
main_45_if_exit
cmp f5(null) 1
CJump EQ main_46_if_true
jump main_47_if_false
main_46_if_true
t49(null) = mov ans(null)
INC ans(null)
jump main_48_if_exit
main_47_if_false
jump main_48_if_exit
main_48_if_exit
cmp f6(null) 1
CJump EQ main_49_if_true
jump main_50_if_false
main_49_if_true
t50(null) = mov ans(null)
INC ans(null)
jump main_51_if_exit
main_50_if_false
jump main_51_if_exit
main_51_if_exit
jump main_52_loop_increment
main_52_loop_increment
INC k(null)
jump main_5_loop_condition
main_53_loop_exit
jump main_54_loop_increment
main_54_loop_increment
INC j(null)
jump main_3_loop_condition
main_55_loop_exit
jump main_56_loop_increment
main_56_loop_increment
INC i(null)
jump main_1_loop_condition
main_57_loop_exit
t52(rdi) = mov ans(null)
call toString return value = t51(rax)
t53(null) = mov t51(rax)
t54(rdi) = mov t53(null)
call println return value = null
i(null) = mov 1
jump main_58_loop_condition
main_58_loop_condition
cmp i(null) 30000000
set LEEQ t55(null)
cmp t55(null) 1
CJump EQ main_59_loop_body
jump main_64_loop_exit
main_59_loop_body
t57(rdi) = mov 100
call f return value = t56(rax)
t58(null) = mov t56(rax)
tt(null) = mov t58(null)
t59(null) = mov i(null)
t59(null) = t59(null) MOD 3000000
cmp t59(null) 0
set EQ t60(null)
cmp t60(null) 1
CJump EQ main_60_if_true
jump main_61_if_false
main_60_if_true
t62(rdi) = mov tt(null)
call toString return value = t61(rax)
t63(null) = mov t61(rax)
t64(rdi) = mov t63(null)
call println return value = null
jump main_62_if_exit
main_61_if_false
jump main_62_if_exit
main_62_if_exit
jump main_63_loop_increment
main_63_loop_increment
INC i(null)
jump main_58_loop_condition
main_64_loop_exit
ret 0
jump main_65_block_exit
main_65_block_exit
}