1function w $first_divisor(w %.1) {
2@start.1
3 %.2 =l alloc4 4
4 storew %.1, %.2
5 %.3 =l alloc4 4
6 jmp @body.2
7@body.2
8 storew 2, %.3
9 jmp @for_cond.3
10@for_cond.3
11 %.4 =w loadw %.3
12 %.5 =w loadw %.2
13 %.6 =w cultw %.4, %.5
14 jnz %.6, @for_body.4, @for_join.6
15@for_body.4
16 %.7 =w loadw %.2
17 %.8 =w loadw %.3
18 %.9 =w urem %.7, %.8
19 %.10 =w ceqw %.9, 0
20 jnz %.10, @if_true.7, @if_false.8
21@if_true.7
22 %.11 =w loadw %.3
23 ret %.11
24@if_false.8
25 jmp @for_cont.5
26@for_cont.5
27 %.12 =w loadw %.3
28 %.13 =w add %.12, 1
29 storew %.13, %.3
30 jmp @for_cond.3
31@for_join.6
32 %.14 =w loadw %.2
33 ret %.14
34}
35export
36function w $entry(w %.1) {
37@start.9
38 %.2 =l alloc4 4
39 storew %.1, %.2
40 %.5 =l alloc4 4
41 %.9 =l alloc4 4
42 jmp @body.10
43@body.10
44 %.3 =w loadw %.2
45 %.4 =w culew %.3, 50
46 jnz %.4, @if_true.11, @if_false.12
47@if_true.11
48 %.6 =w loadw %.2
49 storew %.6, %.5
50 %.7 =w loadw %.5
51 %.8 =w culew %.7, 1
52 jnz %.8, @if_true.13, @if_false.14
53@if_true.13
54 ret 0
55@if_false.14
56 %.10 =w loadw %.5
57 storew %.10, %.9
58 %.11 =w loadw %.9
59 %.12 =w call $first_divisor(w %.11)
60 %.13 =w loadw %.9
61 %.14 =w ceqw %.12, %.13
62 jnz %.14, @if_true.16, @if_false.17
63@if_true.16
64 ret 1
65@if_false.17
66 ret 0
67@if_join.18
68 jmp @if_join.15
69@if_join.15
70 jmp @if_false.12
71@if_false.12
72 ret 0
73}