         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	1
				.global	main
				.thumb
				.thumb_func
		main:
		.LFB185:
				@ args = 0, pretend = 0, frame = 6408
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r4, r5, r6, r7, r8, r9, r10, lr}
				vpush.64	{d8, d9}
				sub	sp, sp, #6624
				sub	sp, sp, #24
				ldr	r3, .L24
		.LPIC8:
				add	r3, pc
				ldr	r2, .L24+4
				ldr	r3, [r3, r2]
				ldr	r3, [r3]
				add	r2, sp, #6624
				adds	r2, r2, #20
				str	r3, [r2]
    2 %ownlongrealarray a(1:6)=0.99,1.0,1.01,0.99,1.0,1.01;
				bl	_imp_initialise(PLT)
		.LVL1:
				ldr	r6, .L24+8
		.LPIC9:
				add	r6, pc
				mov	r5, r6
				adds	r6, r6, #24
    3 %longreal x; %integer i
    4 %for i=1,1,3 %cycle
    5 x=a(i)
				vldmia.64	r5!, {d8}
		.LVL54:
		.LBB127:
		.LBB128:
				vabs.f64	d8, d8
		.LVL55:
		.LBE128:
		.LBE127:
    6 %if mod(x)<mod(1.0) %then printstring("less ")
				vmov.f64	d9, #1.0e+0
		.LBB92:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				blt	.L21
		.LVL56:
		.L2:
    7 %if mod(x)=mod(1.0) %then printstring("equal ")
				ldr	r8, .L24+12
		.LPIC10:
				add	r8, pc
				add	r8, r8, #48
		.LBE92:
		.LBB93:
				mov	r10, #256
				mov	r2, r10
				mov	r1, r8
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL3:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #244
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL4:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #3572
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL5:
		.LBE95:
		.LBB96:
		.LBB97:
				movs	r2, #240
				addw	r1, sp, #3588
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL6:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL7:
				b	.L2
		.L22:
		.LBE97:
		.LBE96:
		.LBB98:
				cmp	r5, r6
				beq	.L20
		.L15:
				vcmp.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				beq	.L22
		.L3:
    8 %if mod(x)>mod(1.0) %then printstring("Greater ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+24
		.LPIC11:
				add	r1, pc
				add	r1, r1, #304
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL8:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #500
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL9:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #3828
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL10:
		.LBE98:
		.LBB99:
		.LBB100:
				movs	r2, #240
				addw	r1, sp, #3844
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL11:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL12:
		.L4:
		.LBE100:
		.LBE99:
		.LBB101:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bls	.L5
		.LBB129:
    9 %if mod(x)<=mod(1.0) %then printstring(" less= ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+52
		.LPIC12:
				add	r1, pc
				add	r1, r1, #560
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL57:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #756
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL58:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #4084
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL59:
		.LBE129:
		.LBB130:
		.LBB131:
				movs	r2, #240
				add	r1, sp, #4096
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL60:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL61:
		.L5:
		.LBE131:
		.LBE130:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				ble	.L4
		.L6:
		.LBB132:
   10 %if mod(x)#mod(1.0) %then printstring("noteq ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+28
		.LPIC13:
				add	r1, pc
				add	r1, r1, #816
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL13:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #1012
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL14:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #4320
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL15:
		.LBE101:
		.LBB102:
		.LBB103:
				movs	r2, #240
				add	r1, sp, #4352
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL16:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL17:
		.LDL1:
		.LBE103:
		.LBE102:
				vcmp.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bne	.L6
		.LBB104:
   11 %if mod(x)>=mod(1.0) %then printstring("Greater= ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+56
		.LPIC14:
				add	r1, pc
				add	r1, r1, #1072
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL62:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #1268
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL63:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #4576
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL64:
		.LBE132:
		.LBB133:
		.LBB134:
				movs	r2, #240
				add	r1, sp, #4608
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL65:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL66:
		.LDL6:
		.LBE134:
		.LBE133:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bpl	.L23
		.L8:
   12 %if mod(1.0)<mod(x) %then printstring("less ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+32
		.LPIC22:
				add	r1, pc
				add	r1, r1, #1328
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL18:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #1524
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL19:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #4832
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL20:
		.LBE104:
		.LBB105:
		.LBB106:
				movs	r2, #240
				add	r1, sp, #4864
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL21:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL22:
				b	.L9
		.L23:
		.LBE106:
		.LBE105:
		.LBB108:
				mov	r2, r10
				ldr	r1, .L24+36
		.LPIC15:
				add	r1, pc
				add	r1, r1, #1328
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL23:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #1524
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL24:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #4832
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL25:
		.LBE108:
		.LBB109:
		.LBB107:
				movs	r2, #240
				add	r1, sp, #4864
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL26:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL27:
		.LDL2:
		.LBE107:
		.LBE109:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bls	.L9
		.LBB110:
   13 %if mod(1.0)=mod(x) %then printstring("equal ")
				mov	r2, r10
				ldr	r1, .L24+40
		.LPIC16:
				add	r1, pc
				adds	r1, r1, #48
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL28:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #1780
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL29:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #5088
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL30:
		.LBE110:
		.LBB111:
		.LBB112:
				movs	r2, #240
				add	r1, sp, #5120
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL31:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL32:
		.L9:
		.LBE112:
		.LBE111:
				vcmp.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bne	.L8
		.LBB113:
   14 %if mod(1.0)>mod(x) %then printstring("Greater ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+44
		.LPIC17:
				add	r1, pc
				add	r1, r1, #304
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL33:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #2036
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL34:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #5344
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL35:
		.LBE113:
		.LBB114:
		.LBB115:
				movs	r2, #240
				add	r1, sp, #5376
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL36:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL37:
		.L10:
		.LBE115:
		.LBE114:
		.LBB116:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bge	.L11
		.LBB135:
   15 %if mod(1.0)<=mod(x) %then printstring(" less= ")
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bpl	.L10
		.L12:
		.LBB122:
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+60
		.LPIC18:
				add	r1, pc
				add	r1, r1, #560
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL67:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #2292
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL68:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #5600
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL69:
		.LBE135:
		.LBB136:
		.LBB137:
				movs	r2, #240
				add	r1, sp, #5632
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL70:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL71:
				b	.L11
		.L20:
		.L16:
		.LVL72:
		.LBE137:
		.LBE136:
		.LBB138:
		.LBB139:
				movs	r0, #0
				bl	exit(PLT)
		.LVL73:
		.L25:
				.align	2
		.L24:
				.word	_GLOBAL_OFFSET_TABLE_-(.LPIC8+4)
				.word	__stack_chk_guard(GOT)
				.word	.LANCHOR0-(.LPIC9+4)
				.word	.LANCHOR0-(.LPIC10+4)
				.word	.LANCHOR0-(.LPIC21+4)
				.word	.LANCHOR0-(.LPIC20+4)
				.word	.LANCHOR0-(.LPIC11+4)
				.word	.LANCHOR0-(.LPIC13+4)
				.word	.LANCHOR0-(.LPIC22+4)
				.word	.LANCHOR0-(.LPIC15+4)
				.word	.LANCHOR0-(.LPIC16+4)
				.word	.LANCHOR0-(.LPIC17+4)
				.word	.LANCHOR0-(.LPIC19+4)
				.word	.LANCHOR0-(.LPIC12+4)
				.word	.LANCHOR0-(.LPIC14+4)
				.word	.LANCHOR0-(.LPIC18+4)
		.LBE139:
		.LBE138:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		A.10025:
				.word	2061584302
				.word	1072672276
				.word	0
				.word	1072693248
				.word	-1030792151
				.word	1072703733
				.word	2061584302
				.word	1072672276
				.word	0
				.word	1072693248
				.word	-1030792151
				.word	1072703733
		.LC0:
				.byte	5
				.ascii	"less \000"
				.space	249
		.LC1:
				.byte	6
				.ascii	"equal \000"
				.space	248
		.LC2:
				.byte	8
				.ascii	"Greater \000"
				.space	246
		.LC3:
				.byte	7
				.ascii	" less= \000"
				.space	247
		.LC4:
				.byte	6
				.ascii	"noteq \000"
				.space	248
		.LC5:
				.byte	9
				.ascii	"Greater= \000"
				.space	245
		.LC6:
				.byte	8
				.ascii	"Greater=\000"
				.space	246
		.Letext0:
   16 %if mod(1.0)#mod(x) %then printstring("noteq ")
				mov	r10, #256
				mov	r2, r10
				ldr	r1, .L24+48
		.LPIC19:
				add	r1, pc
				add	r1, r1, #816
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL38:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #2548
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL39:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #5856
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL40:
		.LBE116:
		.LBB117:
		.LBB118:
				movs	r2, #240
				add	r1, sp, #5888
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL41:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL42:
		.LDL3:
		.LBE118:
		.LBE117:
				vcmp.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				bne	.L12
		.L13:
		.LBB119:
				mov	r10, #256
				mov	r2, r10
				mov	r1, r7
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL43:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #3316
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL44:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #6368
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL45:
		.LBE119:
		.LBB120:
		.LBB121:
				movs	r2, #240
				add	r1, sp, #6400
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL46:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL47:
				b	.L14
		.L11:
		.LBE121:
		.LBE120:
   17 %if mod(mod(1.0))>=mod(x) %then printstring("Greater=")
				ldr	r9, .L24+20
		.LPIC20:
				add	r9, pc
				b	.L15
		.LVL2:
		.L21:
		.LBE94:
		.LBB95:
				mov	r10, #256
				mov	r2, r10
				add	r1, r9, #1072
				addw	r4, sp, #3060
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL48:
				mov	r2, r10
				mov	r1, r4
				addw	r4, sp, #2804
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL49:
				mov	r2, r10
				mov	r1, r4
				add	r4, sp, #6112
				adds	r4, r4, #20
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL50:
		.LBE122:
		.LBB123:
		.LBB124:
				movs	r2, #240
				add	r1, sp, #6144
				adds	r1, r1, #4
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL51:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL52:
		.LDL4:
		.LBE124:
		.LBE123:
				vcmpe.f64	d8, d9
				vmrs	APSR_nzcv, FPSCR
				ble	.L13
		.L14:
		.LBB125:
		.LBB126:
				bl	_imp_newline(PLT)
		.LVL53:
		.LDL5:
		.LBE126:
		.LBE125:
   18 newline
				ldr	r7, .L24+16
		.LPIC21:
				add	r7, pc
				add	r7, r7, #1584
		.LBE93:
		.LBB94:
   19 %repeat
   20 %endofprogram
   21 Statements compiled
