1
2	.global main
3	.align 4
4.str9:
5	.asciz "in g: %d\n"
6.str10:
7	.asciz "in f: %d\n"
8
9	.align 4
10main:
11
12	save %sp,-200,%sp
13	mov 10,%o0
14	st %o0,[%fp-20]
15	ba endfunc3
16	nop
17func1:
18	save %sp,-200,%sp
19	st %i0,[%fp-20]
20	set .str9,%o0
21	mov %i0,%o1
22	call printf
23	nop
24	mov 0,%o0
25	cmp %i0,%o0
26	mov 1,%o0
27	bg bool4
28	nop
29	mov %g0,%o0
30bool4:
31	cmp %o0,1
32	bne else5
33	nop
34	mov 1,%o0
35	sub %i0,%o0,%o0
36	call func2
37	nop
38	ba endif5
39	nop
40else5:
41endif5:
42	mov %o0,%i0
43	ret
44	restore
45endfunc3:
46	ba endfunc6
47	nop
48func2:
49	save %sp,-200,%sp
50	st %i0,[%fp-20]
51	set .str10,%o0
52	mov %i0,%o1
53	call printf
54	nop
55	mov 0,%o0
56	cmp %i0,%o0
57	mov 1,%o0
58	bg bool7
59	nop
60	mov %g0,%o0
61bool7:
62	cmp %o0,1
63	bne else8
64	nop
65	mov 1,%o0
66	sub %i0,%o0,%o0
67	call func1
68	nop
69	ba endif8
70	nop
71else8:
72endif8:
73	mov %o0,%i0
74	ret
75	restore
76endfunc6:
77	ld [%fp-20],%o0
78	call func1
79	nop
80
81	mov 1, %g1
82	ta 0
83