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