         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	1
				.global	main
				.thumb
				.thumb_func
		main:
		.LFB185:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r3, lr}
    2   %integer data
				bl	_imp_initialise(PLT)
		.LVL1:
		.LBB4:
		.LBB5:
				movs	r0, #0
				bl	exit(PLT)
		.LVL2:
		.LBE5:
		.LBE4:
		.LFE185:
		.Letext0:
    3   %integername pointer
    4   %integermap mapresult
    5     %owninteger data2
    6     %result == data2
    7   %end
    8
    9   %integermap test(%integer n)
   10      %result == data %if n = 1
   11      %result == pointer %if n = 2
   12      %result == mapresult
   13   %end
   14
   15   %integer q
   16
   17   q = test(4)
   18
   19 %endofprogram
   15 Statements compiled
