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}
32data $.Lstring.3 = align 1 { b "a\000", }
33export
34function w $main() {
35@start.9
36 %.1 =l alloc4 4
37@body.10
38 %.2 =l extsw 1
39 call $quebex_symbolic_array(l %.1, l %.2, l 4, l $.Lstring.3)
40 %.3 =w loadw %.1
41 %.4 =w culew %.3, 200
42 jnz %.4, @if_true.11, @if_false.12
43@if_true.11
44 %.5 =w loadw %.1
45 %.6 =w cugtw %.5, 1
46 jnz %.6, @logic_right.13, @logic_join.14
47@logic_right.13
48 %.7 =w loadw %.1
49 %.8 =w call $first_divisor(w %.7)
50 %.9 =w loadw %.1
51 %.10 =w ceqw %.8, %.9
52 %.11 =w cnew %.10, 0
53@logic_join.14
54 %.12 =w phi @if_true.11 0, @logic_right.13 %.11
55 jnz %.12, @if_true.15, @if_false.16
56@if_true.15
57 ret 1
58@if_false.16
59 ret 0
60@if_join.17
61@if_false.12
62 ret 0
63}