         Edinburgh IMP77 Compiler - Version 8.4
    1 %integer %function %spec i77pODDCOLLATZ(%integer %array %name i77callerdisplay,%integer I)
		.Ltext0:
		_imp_PROMPT:
		.LFB69:
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$12, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				subl	$12, %esp
				leal	__PRETTY_FUNCTION__.5536@GOTOFF(%ebx), %eax
				pushl	%eax
				call	check_instream@PLT
				addl	$16, %esp
				leal	8(%ebp), %edx
				movl	_imp_promptstr@GOT(%ebx), %eax
				movl	%edx, %ebx
				movl	$256, %edx
				movl	(%ebx), %ecx
				movl	%ecx, (%eax)
				movl	-4(%ebx,%edx), %ecx
				movl	%ecx, -4(%eax,%edx)
				leal	4(%eax), %edi
				andl	$-4, %edi
				subl	%edi, %eax
				subl	%eax, %ebx
				addl	%eax, %edx
				andl	$-4, %edx
				movl	%edx, %eax
				shrl	$2, %eax
				movl	%ebx, %esi
				movl	%eax, %ecx
				rep movsl
				nop
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE69:
		I77PEVENCOLLATZ:
		.LFB189:
    2 %record %format i77arfmSHOWCOLLATZLENGTH(%integer %name MAX,
    3 %integer BASEVALUE)
    4 %record %format i77arfmBLOCK(%integer ODD1,
    5 %integer ODD2)
    6
    7 %integer %function i77pEVENCOLLATZ(%integer %array %name i77callerdisplay,%integer I)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%ebx
				addl	$-128, %esp
				call	__x86.get_pc_thunk.ax
				addl	$_GLOBAL_OFFSET_TABLE_, %eax
				movl	8(%ebp), %eax
				movl	%eax, -124(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -12(%ebp)
				xorl	%eax, %eax
    8 %integer %array i77display(1:3)
				leal	-80(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-92(%ebp), %eax
				movl	%eax, -80(%ebp)
				movl	$4, -76(%ebp)
    9 %integer i77
   10 i77display(i77)=i77callerdisplay(i77) %for i77=1,1,2
				movl	$0, -112(%ebp)
		.L3:
				cmpl	$2, -112(%ebp)
				je	.L21
				addl	$1, -112(%ebp)
				movl	-112(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-124(%ebp), %eax
				addl	%edx, %eax
				movl	-112(%ebp), %edx
				subl	$1, %edx
				movl	(%eax), %eax
				movl	%eax, -92(%ebp,%edx,4)
				jmp	.L3
		.L21:
				nop
		.L5:
   11 i77display(3)=0
				movl	$0, -84(%ebp)
   12 %record(i77arfmBLOCK)%name i77arBLOCK==record(i77display(1))
				movl	-92(%ebp), %eax
				movl	%eax, -96(%ebp)
		.LBB36:
		.LBB37:
				movl	-96(%ebp), %eax
		.LBE37:
		.LBE36:
				movl	%eax, -108(%ebp)
   13 %record(i77arfmSHOWCOLLATZLENGTH)%name i77arSHOWCOLLATZLENGTH==record(i77display(2))
				movl	-88(%ebp), %eax
				movl	%eax, -100(%ebp)
		.LBB38:
		.LBB39:
				movl	-100(%ebp), %eax
		.LBE39:
		.LBE38:
				movl	%eax, -104(%ebp)
   14 %if I{level 3}>=1 %then ->i77L1
				cmpl	$0, 12(%ebp)
				jg	.L22
				nop
		.L9:
				nop
		.L10:
   15 %result=0
				movl	$0, %eax
				jmp	.L18
		.L22:
   16 i77L1:
   17 %if I{level 3}<=i77arSHOWCOLLATZLENGTH_MAX{level 2} %then ->i77L2
				movl	-104(%ebp), %eax
				movl	(%eax), %eax
				movl	(%eax), %eax
				cmpl	%eax, 12(%ebp)
				jle	.L23
				nop
		.L13:
				nop
		.L14:
   18 i77arSHOWCOLLATZLENGTH_MAX{level 2}=I{level 3}
				movl	-104(%ebp), %eax
				movl	(%eax), %eax
				movl	12(%ebp), %edx
				movl	%edx, (%eax)
				jmp	.L14
		.L23:
   19 i77L2:
   20 %if I{level 3}&i77arBLOCK_ODD2{level 1}=0 %then ->i77L3
				movl	-108(%ebp), %eax
				movl	4(%eax), %eax
				testl	%eax, %eax
				setne	%al
				movzbl	%al, %eax
				andl	12(%ebp), %eax
				testl	%eax, %eax
				je	.L24
				nop
		.L16:
				nop
		.L17:
   21 %result=i77arSHOWCOLLATZLENGTH_BASEVALUE{level 2}+(i77pODDCOLLATZ(i77display,I{level 3}>>1))
				movl	-104(%ebp), %eax
				movl	4(%eax), %ebx
				movl	12(%ebp), %eax
				shrl	%eax
				subl	$8, %esp
				pushl	%eax
				leal	-92(%ebp), %eax
				pushl	%eax
				call	I77PODDCOLLATZ
				addl	$16, %esp
				addl	%ebx, %eax
				jmp	.L18
		.L24:
   22 i77L3:
   23 %result=i77arSHOWCOLLATZLENGTH_BASEVALUE{level 2}+(i77pEVENCOLLATZ(i77display,I{level 3}>>1))
				movl	-104(%ebp), %eax
				movl	4(%eax), %ebx
				movl	12(%ebp), %eax
				shrl	%eax
				subl	$8, %esp
				pushl	%eax
				leal	-92(%ebp), %eax
				pushl	%eax
				call	I77PEVENCOLLATZ
				addl	$16, %esp
				addl	%ebx, %eax
		.L18:
   24 %end
				movl	-12(%ebp), %ecx
				xorl	%gs:20, %ecx
				je	.L19
				call	__stack_chk_fail_local
		.L19:
				leal	-8(%ebp), %esp
				popl	%ebx
				popl	%edi
				popl	%ebp
				ret
		.LFE189:
				.section	.rodata
		.LC5:
				.string	""
				.align 32
		.LC0:
				.byte	24
				.string	"test-in/collatz-flat.imp"
				.zero	230
		I77PODDCOLLATZ:
		.LFB190:
   25
   26 %integer %function i77pODDCOLLATZ(%integer %array %name i77callerdisplay,%integer I)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$892, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	8(%ebp), %eax
				movl	%eax, -892(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
   27 %integer %array i77display(1:3)
				leal	-864(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-876(%ebp), %eax
				movl	%eax, -864(%ebp)
				movl	$4, -860(%ebp)
   28 %integer i77
   29 i77display(i77)=i77callerdisplay(i77) %for i77=1,1,2
				movl	$0, -888(%ebp)
		.L26:
				cmpl	$2, -888(%ebp)
				je	.L47
				addl	$1, -888(%ebp)
				movl	-888(%ebp), %eax
				leal	0(,%eax,4), %edx
				movl	-892(%ebp), %eax
				addl	%edx, %eax
				movl	-888(%ebp), %edx
				subl	$1, %edx
				movl	(%eax), %eax
				movl	%eax, -876(%ebp,%edx,4)
				jmp	.L26
		.L47:
				nop
		.L28:
   30 i77display(3)=0
				movl	$0, -868(%ebp)
   31 %record(i77arfmSHOWCOLLATZLENGTH)%name i77arSHOWCOLLATZLENGTH==record(i77display(2))
				movl	-872(%ebp), %eax
				movl	%eax, -880(%ebp)
		.LBB40:
		.LBB41:
				movl	-880(%ebp), %eax
		.LBE41:
		.LBE40:
				movl	%eax, -884(%ebp)
   32 %if I{level 3}>1 %then ->i77L4
				cmpl	$1, 12(%ebp)
				jg	.L48
				nop
		.L31:
				nop
		.L32:
   33 %result=0
				movl	$0, %eax
				jmp	.L44
		.L48:
   34 i77L4:
   35 %if I{level 3}<=i77arSHOWCOLLATZLENGTH_MAX{level 2} %then ->i77L5
				movl	-884(%ebp), %eax
				movl	(%eax), %eax
				movl	(%eax), %eax
				cmpl	%eax, 12(%ebp)
				jle	.L49
				nop
		.L35:
				nop
		.L36:
   36 i77arSHOWCOLLATZLENGTH_MAX{level 2}=I{level 3}
				movl	-884(%ebp), %eax
				movl	(%eax), %eax
				movl	12(%ebp), %edx
				movl	%edx, (%eax)
				jmp	.L36
		.L49:
   37 i77L5:
   38 %if I{level 3}<=715827882 %then ->i77L6
				cmpl	$715827882, 12(%ebp)
				jle	.L50
				nop
		.L38:
				nop
		.L39:
   39 %signal 15,1,1
				leal	-540(%ebp), %eax
				subl	$8, %esp
				leal	.LC5@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L40
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -896(%ebp)
				jmp	.L41
		.L40:
				movl	$39, -896(%ebp)
		.L41:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L42
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-284(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L43
		.L42:
		.LBB42:
				leal	-284(%ebp), %eax
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE42:
				leal	-284(%ebp), %eax
				leal	-796(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L43:
				pushl	$1
				pushl	$1
				pushl	$15
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-896(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
				jmp	.L39
		.L50:
   40 i77L6:
   41 %result=i77arSHOWCOLLATZLENGTH_BASEVALUE{level 2}+(i77pEVENCOLLATZ(i77display,((I{level 3}<<1)+I{level 3})+1))
				movl	-884(%ebp), %eax
				movl	4(%eax), %ebx
				movl	12(%ebp), %eax
				leal	(%eax,%eax), %edx
				movl	12(%ebp), %eax
				addl	%edx, %eax
				addl	$1, %eax
				subl	$8, %esp
				pushl	%eax
				leal	-876(%ebp), %eax
				pushl	%eax
				call	I77PEVENCOLLATZ
				addl	$16, %esp
				addl	%ebx, %eax
		.L44:
   42 %end
				movl	-28(%ebp), %esi
				xorl	%gs:20, %esi
				je	.L45
				call	__stack_chk_fail_local
		.L45:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE190:
				.section	.rodata
				.align 32
		.LC1:
				.byte	24
				.string	"The Collatz sequence for"
				.zero	230
				.align 32
		.LC2:
				.byte	6
				.string	" takes"
				.zero	248
				.align 32
		.LC3:
				.byte	40
				.string	" steps and the largest value reached was"
				.zero	214
		I77PSHOWCOLLATZLENGTH:
		.LFB191:
   43
   44 %routine i77pSHOWCOLLATZLENGTH(%integer %array %name i77callerdisplay,%integer I,%integer %name MAX)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				subl	$1676, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	8(%ebp), %eax
				movl	%eax, -1676(%ebp)
				movl	16(%ebp), %eax
				movl	%eax, -1680(%ebp)
				movl	%gs:20, %eax
				movl	%eax, -28(%ebp)
				xorl	%eax, %eax
   45 %record(i77arfmSHOWCOLLATZLENGTH) i77ar
   46 %integer %array i77display(1:2)
				leal	-1632(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-1640(%ebp), %eax
				movl	%eax, -1632(%ebp)
				movl	$4, -1628(%ebp)
   47 i77display(1)=i77callerdisplay(1)
				movl	-1676(%ebp), %eax
				movl	4(%eax), %eax
				movl	%eax, -1640(%ebp)
				leal	-1648(%ebp), %eax
				movl	%eax, -1652(%ebp)
		.LBB43:
		.LBB44:
				movl	-1652(%ebp), %eax
		.LBE44:
		.LBE43:
   48 i77display(2)=addr(i77ar)
				movl	%eax, -1636(%ebp)
   49 %record(i77arfmBLOCK)%name i77arBLOCK==record(i77display(1))
				movl	-1640(%ebp), %eax
				movl	%eax, -1656(%ebp)
		.LBB45:
		.LBB46:
				movl	-1656(%ebp), %eax
		.LBE46:
		.LBE45:
				movl	%eax, -1660(%ebp)
   50 i77ar_MAX==MAX
				movl	-1680(%ebp), %eax
				movl	%eax, -1648(%ebp)
   51 i77ar_BASEVALUE{level 2}=0+1
				movl	$1, -1644(%ebp)
		.LBB47:
   52 PRINTSTRING("The Collatz sequence for")
				leal	-284(%ebp), %eax
				leal	.LC1@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-796(%ebp), %eax
				leal	-1564(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE47:
		.LBB48:
		.LBB49:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE49:
		.LBE48:
   53 WRITE(I{level 2},1)
				subl	$8, %esp
				pushl	$1
				pushl	12(%ebp)
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB50:
   54 PRINTSTRING(" takes")
				leal	-284(%ebp), %eax
				leal	.LC2@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-540(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE50:
		.LBB51:
		.LBB52:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE52:
		.LBE51:
   55 %if I{level 2}&i77arBLOCK_ODD1{level 1}=0 %then ->i77L7
				movl	-1660(%ebp), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				setne	%al
				movzbl	%al, %eax
				andl	12(%ebp), %eax
				testl	%eax, %eax
				je	.L62
				nop
		.L55:
				nop
   56 WRITE(i77pODDCOLLATZ(i77display,I{level 2}),1)
				subl	$8, %esp
				pushl	12(%ebp)
				leal	-1640(%ebp), %eax
				pushl	%eax
				call	I77PODDCOLLATZ
				addl	$16, %esp
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
   57 ->i77L8
				jmp	.L57
		.L56:
		.L62:
   58 i77L7:
   59 WRITE(i77pEVENCOLLATZ(i77display,I{level 2}),1)
				subl	$8, %esp
				pushl	12(%ebp)
				leal	-1640(%ebp), %eax
				pushl	%eax
				call	I77PEVENCOLLATZ
				addl	$16, %esp
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.L57:
		.LBB53:
   60 i77L8:
   61 PRINTSTRING(" steps and the largest value reached was")
				leal	-284(%ebp), %eax
				leal	.LC3@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE53:
		.LBB54:
		.LBB55:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE55:
		.LBE54:
   62 WRITE(i77ar_MAX{level 2},1)
				movl	-1648(%ebp), %eax
				movl	(%eax), %eax
				subl	$8, %esp
				pushl	$1
				pushl	%eax
				call	_imp_writeint@PLT
				addl	$16, %esp
		.LBB56:
		.LBB57:
				call	_imp_newline@PLT
		.LBE57:
		.LBE56:
   63 NEWLINE
   64 %end
				nop
				movl	-28(%ebp), %eax
				xorl	%gs:20, %eax
				je	.L59
				call	__stack_chk_fail_local
		.L59:
				leal	-12(%ebp), %esp
				popl	%ebx
				popl	%esi
				popl	%edi
				popl	%ebp
				ret
		.LFE191:
				.section	.rodata
				.align 32
		.LC4:
				.byte	37
				.string	"Parameter must be a positive integer."
				.zero	217
				.globl	main
		main:
		.LFB192:
   65
   66 %begin
				leal	4(%esp), %ecx
				andl	$-16, %esp
				pushl	-4(%ecx)
				pushl	%ebp
				movl	%esp, %ebp
				pushl	%edi
				pushl	%esi
				pushl	%ebx
				pushl	%ecx
				subl	$1672, %esp
				call	__x86.get_pc_thunk.bx
				addl	$_GLOBAL_OFFSET_TABLE_, %ebx
				movl	%ecx, %eax
				movl	4(%eax), %edx
				movl	%edx, -1676(%ebp)
				movl	%gs:20, %esi
				movl	%esi, -28(%ebp)
				xorl	%esi, %esi
				subl	$8, %esp
				pushl	-1676(%ebp)
				pushl	(%eax)
				call	_imp_initialise@PLT
				addl	$16, %esp
   67 %record(i77arfmBLOCK) i77ar
   68 %integer %array i77display(1:1)
				leal	-1632(%ebp), %edx
				movl	$0, %eax
				movl	$17, %ecx
				movl	%edx, %edi
				rep stosl
				leal	-1636(%ebp), %eax
				movl	%eax, -1632(%ebp)
				movl	$4, -1628(%ebp)
				leal	-1644(%ebp), %eax
				movl	%eax, -1652(%ebp)
		.LBB58:
		.LBB59:
				movl	-1652(%ebp), %eax
		.LBE59:
		.LBE58:
   69 i77display(1)=addr(i77ar)
				movl	%eax, -1636(%ebp)
   70 %integer HIGHEST
   71 %integer SEED
   72 i77ar_ODD1{level 1}=1
				movl	$1, -1644(%ebp)
   73 i77ar_ODD2{level 1}=2
				movl	$2, -1640(%ebp)
		.LBB60:
   74 PROMPT("Integer seed value: ")
				leal	-284(%ebp), %edx
				movl	$0, %eax
				movl	$64, %ecx
				movl	%edx, %edi
				rep stosl
				movb	$20, -284(%ebp)
				movl	$1702129225, -283(%ebp)
				movl	$544367975, -279(%ebp)
				movl	$1684366707, -275(%ebp)
				movw	$30240, -271(%ebp)
				movb	$97, -269(%ebp)
				leal	-1564(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE60:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-1564(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_PROMPT
				addl	$256, %esp
   75 READ(SEED{level 1})
				subl	$12, %esp
				leal	-1656(%ebp), %eax
				pushl	%eax
				call	_imp_readint@PLT
				addl	$16, %esp
   76 %if SEED{level 1}>=0 %then ->i77L9
				movl	-1656(%ebp), %eax
				testl	%eax, %eax
				jns	.L73
				nop
		.L66:
		.LBB61:
				nop
		.L67:
   77 PRINTSTRING("Parameter must be a positive integer.")
				leal	-284(%ebp), %eax
				leal	.LC4@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1308(%ebp), %eax
				leal	-284(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-284(%ebp), %eax
				leal	-1308(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE61:
		.LBB62:
		.LBB63:
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-284(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_imp_printstring@PLT
				addl	$256, %esp
		.LBE63:
		.LBE62:
		.LBB64:
		.LBB65:
				call	_imp_newline@PLT
		.LBE65:
		.LBE64:
   78 NEWLINE
   79 %signal 0,0,0
				leal	-796(%ebp), %eax
				subl	$8, %esp
				leal	.LC5@GOTOFF(%ebx), %edx
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L68
				movl	_imp_current_line@GOT(%ebx), %eax
				movl	(%eax), %eax
				movl	%eax, -1680(%ebp)
				jmp	.L69
		.L68:
				movl	$79, -1680(%ebp)
		.L69:
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %eax
				testl	%eax, %eax
				je	.L70
				movl	_imp_current_file@GOT(%ebx), %eax
				movl	(%eax), %edx
				leal	-540(%ebp), %eax
				subl	$8, %esp
				pushl	%edx
				pushl	%eax
				call	_imp_c2istr@PLT
				addl	$12, %esp
				jmp	.L71
		.L70:
		.LBB66:
				leal	-540(%ebp), %eax
				leal	.LC0@GOTOFF(%ebx), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
				leal	-1052(%ebp), %eax
				leal	-540(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.LBE66:
				leal	-540(%ebp), %eax
				leal	-1052(%ebp), %edx
				movl	$64, %ecx
				movl	%eax, %edi
				movl	%edx, %esi
				rep movsl
		.L71:
				pushl	$0
				pushl	$0
				pushl	$0
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-796(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				pushl	-1680(%ebp)
				subl	$256, %esp
				movl	%esp, %eax
				movl	%eax, %edi
				leal	-540(%ebp), %eax
				movl	$64, %edx
				movl	%eax, %esi
				movl	%edx, %ecx
				rep movsl
				call	_signal_event@PLT
				addl	$528, %esp
				jmp	.L67
		.L73:
   80 i77L9:
   81 HIGHEST{level 1}=0
				movl	$0, -1660(%ebp)
   82 i77pSHOWCOLLATZLENGTH(i77display,SEED{level 1}-1,HIGHEST{level 1})
				movl	-1656(%ebp), %eax
				leal	-1(%eax), %edx
				subl	$4, %esp
				leal	-1660(%ebp), %eax
				pushl	%eax
				pushl	%edx
				leal	-1636(%ebp), %eax
				pushl	%eax
				call	I77PSHOWCOLLATZLENGTH
				addl	$16, %esp
   83 HIGHEST{level 1}=0
				movl	$0, -1660(%ebp)
   84 i77pSHOWCOLLATZLENGTH(i77display,SEED{level 1},HIGHEST{level 1})
				movl	-1656(%ebp), %eax
				subl	$4, %esp
				leal	-1660(%ebp), %edx
				pushl	%edx
				pushl	%eax
				leal	-1636(%ebp), %eax
				pushl	%eax
				call	I77PSHOWCOLLATZLENGTH
				addl	$16, %esp
   85 HIGHEST{level 1}=0
				movl	$0, -1660(%ebp)
   86 i77pSHOWCOLLATZLENGTH(i77display,SEED{level 1}+1,HIGHEST{level 1})
				movl	-1656(%ebp), %eax
				leal	1(%eax), %edx
				subl	$4, %esp
				leal	-1660(%ebp), %eax
				pushl	%eax
				pushl	%edx
				leal	-1636(%ebp), %eax
				pushl	%eax
				call	I77PSHOWCOLLATZLENGTH
				addl	$16, %esp
				movl	$0, -1648(%ebp)
		.LBB67:
		.LBB68:
				subl	$12, %esp
				pushl	-1648(%ebp)
				call	exit@PLT
		.LBE68:
		.LBE67:
		.LFE192:
				.section	.rodata
				.align 4
		__PRETTY_FUNCTION__.5536:
				.string	"_imp_PROMPT"
				.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
				.globl	__x86.get_pc_thunk.ax
				.hidden	__x86.get_pc_thunk.ax
		__x86.get_pc_thunk.ax:
		.LFB193:
				movl	(%esp), %eax
				ret
		.LFE193:
				.section	.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
				.globl	__x86.get_pc_thunk.bx
				.hidden	__x86.get_pc_thunk.bx
		__x86.get_pc_thunk.bx:
		.LFB194:
				movl	(%esp), %ebx
				ret
		.LFE194:
		.Letext0:
   87 %end %of %program
   72 Statements compiled
