         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.option nopic
		.Ltext0:
				.align	1
				.globl	main
		main:
		.LFB185:
		.LVL0:
				add	sp,sp,-2032
				sd	ra,2024(sp)
				sd	s0,2016(sp)
				sd	s1,2008(sp)
				sd	s2,2000(sp)
				sd	s3,1992(sp)
				sd	s4,1984(sp)
				sd	s5,1976(sp)
				sd	s6,1968(sp)
				fsd	fs0,1960(sp)
				fsd	fs1,1952(sp)
				fsd	fs2,1944(sp)
				fsd	fs3,1936(sp)
				fsd	fs4,1928(sp)
				fsd	fs5,1920(sp)
				fsd	fs6,1912(sp)
				fsd	fs7,1904(sp)
				fsd	fs8,1896(sp)
				fsd	fs9,1888(sp)
				fsd	fs10,1880(sp)
				fsd	fs11,1872(sp)
				li	t1,-4096
				add	t1,t1,-720
				add	sp,sp,t1
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				li	a4,8192
				add	a4,a4,-1528
				add	a3,sp,16
				add	a4,a4,a3
				sd	a5,0(a4)
    2 %ownlongrealarray a(1:6)=0.99,1.0,1.01,0.99,1.0,1.01;
				call	_imp_initialise
		.LVL1:
				lui	s1,%hi(.LANCHOR0)
				addi	s1,s1,%lo(.LANCHOR0)
				add	s4,s1,24
    3 %longreal x; %integer i
    4 %for i=1,1,3 %cycle
    5 x=a(i)
    6 %if mod(x)<mod(1.0) %then printstring("less ")
				lui	s2,%hi(.LC7)
				fld	fs2,%lo(.LC7)(s2)
				fge.d	a5,fs0,fs2
				beqz	a5,.L21
		.LVL56:
		.L2:
    7 %if mod(x)=mod(1.0) %then printstring("equal ")
				fmv.d	fs1,fs2
				li	a5,-4096
				li	s6,8192
				add	a4,s6,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s0,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+48)
				addi	a1,a1,%lo(.LANCHOR0+48)
				mv	a0,s0
				call	memcpy
		.LVL3:
				li	s3,-8192
				add	s5,sp,280
				li	a2,256
				mv	a1,s0
				mv	a0,s5
				call	memcpy
		.LVL4:
				ld	a5,8(sp)
				add	s0,a5,1016
				li	a2,256
				mv	a1,s5
				mv	a0,s0
				call	memcpy
		.LVL5:
		.LBE92:
		.LBB93:
		.LBB94:
				li	a2,256
				mv	a1,s0
				add	a0,sp,16
				call	memcpy
		.LVL6:
				add	a0,s3,1520
				add	a5,s6,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL7:
				j	.L2
		.L22:
		.LBE94:
		.LBE93:
		.LBB95:
				beq	s1,s4,.L20
		.L15:
		.LVL54:
		.LBB124:
		.LBB125:
				fld	fs0,0(s1)
				fabs.d	fs0,fs0
		.LVL55:
		.LBE125:
		.LBE124:
				feq.d	a5,fs0,fs1
				bnez	a5,.L22
		.L3:
    8 %if mod(x)>mod(1.0) %then printstring("Greater ")
				fmv.d	fs4,fs2
				j	.L15
		.LVL2:
		.L21:
		.LBB92:
				li	a5,-4096
				li	s6,8192
				add	a4,s6,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s0,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+304)
				addi	a1,a1,%lo(.LANCHOR0+304)
				mv	a0,s0
				call	memcpy
		.LVL8:
				li	s3,-8192
				add	s5,sp,536
				li	a2,256
				mv	a1,s0
				mv	a0,s5
				call	memcpy
		.LVL9:
				ld	a5,8(sp)
				add	s0,a5,1272
				li	a2,256
				mv	a1,s5
				mv	a0,s0
				call	memcpy
		.LVL10:
		.LBE95:
		.LBB96:
		.LBB97:
				li	a2,256
				mv	a1,s0
				add	a0,sp,16
				call	memcpy
		.LVL11:
				add	a0,s3,1520
				add	a5,s6,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL12:
		.L4:
		.LBE97:
		.LBE96:
		.LBB98:
				fle.d	a5,fs0,fs4
				bnez	a5,.L5
		.LBB126:
    9 %if mod(x)<=mod(1.0) %then printstring(" less= ")
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s0,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+560)
				addi	a1,a1,%lo(.LANCHOR0+560)
				mv	a0,s0
				call	memcpy
		.LVL57:
				ld	a5,8(sp)
				add	s3,a5,-1800
				li	a2,256
				mv	a1,s0
				mv	a0,s3
				call	memcpy
		.LVL58:
				ld	a5,8(sp)
				add	s0,a5,1528
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL59:
		.LBE126:
		.LBB127:
		.LBB128:
				li	s3,-8192
				li	a2,256
				mv	a1,s0
				add	a0,sp,16
				call	memcpy
		.LVL60:
				add	a0,s3,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL61:
		.L5:
		.LBE128:
		.LBE127:
				fld	fa5,%lo(.LC7)(s2)
				fgt.d	a5,fs0,fa5
				beqz	a5,.L4
		.L6:
		.LBB129:
   10 %if mod(x)#mod(1.0) %then printstring("noteq ")
				fmv.d	fs11,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s0,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+816)
				addi	a1,a1,%lo(.LANCHOR0+816)
				mv	a0,s0
				call	memcpy
		.LVL13:
				ld	a5,8(sp)
				add	s3,a5,-1544
				li	a2,256
				mv	a1,s0
				mv	a0,s3
				call	memcpy
		.LVL14:
				ld	a5,8(sp)
				add	s0,a5,1784
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL15:
		.LBE98:
		.LBB99:
		.LBB100:
				li	s3,-8192
				li	a2,256
				mv	a1,s0
				add	a0,sp,16
				call	memcpy
		.LVL16:
				add	a0,s3,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL17:
		.LDL1:
		.LBE100:
		.LBE99:
				feq.d	a5,fs0,fs11
				beqz	a5,.L6
		.LBB101:
   11 %if mod(x)>=mod(1.0) %then printstring("Greater= ")
				fmv.d	fs3,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s0,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+1072)
				addi	a1,a1,%lo(.LANCHOR0+1072)
				mv	a0,s0
				call	memcpy
		.LVL62:
				ld	a5,8(sp)
				add	s3,a5,-1288
				li	a2,256
				mv	a1,s0
				mv	a0,s3
				call	memcpy
		.LVL63:
				ld	a5,8(sp)
				add	s0,a5,2040
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL64:
		.LBE129:
		.LBB130:
		.LBB131:
				li	s3,-8192
				li	a2,256
				mv	a1,s0
				add	a0,sp,16
				call	memcpy
		.LVL65:
				add	a0,s3,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL66:
		.LDL6:
		.LBE131:
		.LBE130:
				flt.d	a5,fs0,fs3
				beqz	a5,.L23
		.L8:
   12 %if mod(1.0)<mod(x) %then printstring("less ")
				fmv.d	fs10,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+1328)
				addi	a1,a1,%lo(.LANCHOR0+1328)
				mv	a0,s3
				call	memcpy
		.LVL18:
				ld	a5,8(sp)
				add	s0,a5,-1032
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL19:
				li	a2,256
				mv	a1,s0
				li	s3,4096
				add	a0,s3,776
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL20:
		.LBE101:
		.LBB102:
		.LBB103:
				li	s0,-8192
				li	a2,256
				add	a1,s3,776
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL21:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL22:
				j	.L9
		.L23:
		.LBE103:
		.LBE102:
		.LBB105:
				li	a5,-4096
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+1328)
				addi	a1,a1,%lo(.LANCHOR0+1328)
				mv	a0,s3
				call	memcpy
		.LVL23:
				ld	a5,8(sp)
				add	s0,a5,-1032
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL24:
				li	a2,256
				mv	a1,s0
				li	s6,4096
				add	a0,s6,776
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL25:
		.LBE105:
		.LBB106:
		.LBB104:
				li	s0,-8192
				li	a2,256
				add	a1,s6,776
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL26:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL27:
		.LDL2:
		.LBE104:
		.LBE106:
				fle.d	a5,fs0,fs10
				bnez	a5,.L9
		.LBB107:
   13 %if mod(1.0)=mod(x) %then printstring("equal ")
				fmv.d	fs8,fs2
				li	a5,-4096
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+48)
				addi	a1,a1,%lo(.LANCHOR0+48)
				mv	a0,s3
				call	memcpy
		.LVL28:
				ld	a5,8(sp)
				add	s0,a5,-776
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL29:
				li	a2,256
				mv	a1,s0
				add	a0,s6,1032
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL30:
		.LBE107:
		.LBB108:
		.LBB109:
				li	s0,-8192
				li	a2,256
				add	a1,s6,1032
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL31:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL32:
		.L9:
		.LBE109:
		.LBE108:
				feq.d	a5,fs0,fs8
				beqz	a5,.L8
		.LBB110:
   14 %if mod(1.0)>mod(x) %then printstring("Greater ")
				fmv.d	fs6,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+304)
				addi	a1,a1,%lo(.LANCHOR0+304)
				mv	a0,s3
				call	memcpy
		.LVL33:
				ld	a5,8(sp)
				add	s0,a5,-520
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL34:
				li	a2,256
				mv	a1,s0
				li	s3,4096
				add	a0,s3,1288
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL35:
		.LBE110:
		.LBB111:
		.LBB112:
				li	s0,-8192
				li	a2,256
				add	a1,s3,1288
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL36:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL37:
		.L10:
		.LBE112:
		.LBE111:
		.LBB113:
				fge.d	a5,fs0,fs6
				bnez	a5,.L11
		.LBB132:
   15 %if mod(1.0)<=mod(x) %then printstring(" less= ")
				fmv.d	fs5,fs2
				flt.d	a5,fs0,fs5
				beqz	a5,.L10
		.L12:
		.LBB119:
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+560)
				addi	a1,a1,%lo(.LANCHOR0+560)
				mv	a0,s3
				call	memcpy
		.LVL67:
				ld	a5,8(sp)
				add	s0,a5,-264
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL68:
				li	a2,256
				mv	a1,s0
				li	s3,4096
				add	a0,s3,1544
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL69:
		.LBE132:
		.LBB133:
		.LBB134:
				li	s0,-8192
				li	a2,256
				add	a1,s3,1544
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL70:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL71:
				j	.L11
		.L20:
		.L16:
		.LVL72:
		.LBE134:
		.LBE133:
		.LBB135:
		.LBB136:
				li	a0,0
				call	exit
		.LVL73:
		.LBE136:
		.LBE135:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		A.6001:
				.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
				.string	"less "
				.zero	249
		.LC1:
				.byte	6
				.string	"equal "
				.zero	248
		.LC2:
				.byte	8
				.string	"Greater "
				.zero	246
		.LC3:
				.byte	7
				.string	" less= "
				.zero	247
		.LC4:
				.byte	6
				.string	"noteq "
				.zero	248
		.LC5:
				.byte	9
				.string	"Greater= "
				.zero	245
		.LC6:
				.byte	8
				.string	"Greater="
				.zero	246
				.section	.srodata.cst8,"aM",@progbits,8
				.align	3
		.LC7:
				.word	0
				.word	1072693248
		.Letext0:
   16 %if mod(1.0)#mod(x) %then printstring("noteq ")
				fmv.d	fs9,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+816)
				addi	a1,a1,%lo(.LANCHOR0+816)
				mv	a0,s3
				call	memcpy
		.LVL38:
				ld	a5,8(sp)
				add	s0,a5,-8
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL39:
				li	a2,256
				mv	a1,s0
				li	s3,4096
				add	a0,s3,1800
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL40:
		.LBE113:
		.LBB114:
		.LBB115:
				li	s0,-8192
				li	a2,256
				add	a1,s3,1800
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL41:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL42:
		.LDL3:
		.LBE115:
		.LBE114:
				feq.d	a5,fs0,fs9
				beqz	a5,.L12
		.L13:
		.LBB116:
   17 %if mod(mod(1.0))>=mod(x) %then printstring("Greater=")
				fmv.d	fs7,fs2
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+1072)
				addi	a1,a1,%lo(.LANCHOR0+1072)
				mv	a0,s3
				call	memcpy
		.LVL48:
				ld	a5,8(sp)
				add	s0,a5,248
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL49:
				li	a2,256
				mv	a1,s0
				add	a0,s5,-2040
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL50:
		.LBE119:
		.LBB120:
		.LBB121:
				li	s0,-8192
				li	a2,256
				add	a1,s5,-2040
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL51:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL52:
		.LDL4:
		.LBE121:
		.LBE120:
				fgt.d	a5,fs0,fs7
				beqz	a5,.L13
		.L14:
		.LBB122:
		.LBB123:
				call	_imp_newline
		.LVL53:
		.LDL5:
				add	s1,s1,8
		.LBE123:
		.LBE122:
   18 newline
				li	a5,-4096
				li	s5,8192
				add	a4,s5,-1520
				add	a3,sp,16
				add	a4,a4,a3
				add	a5,a4,a5
				sd	a5,8(sp)
				add	s3,a5,504
				li	a2,256
				lui	a1,%hi(.LANCHOR0+1584)
				addi	a1,a1,%lo(.LANCHOR0+1584)
				mv	a0,s3
				call	memcpy
		.LVL43:
				ld	a5,8(sp)
				add	s0,a5,760
				li	a2,256
				mv	a1,s3
				mv	a0,s0
				call	memcpy
		.LVL44:
				li	a2,256
				mv	a1,s0
				add	a0,s5,-1784
				add	a5,sp,16
				add	a0,a0,a5
				call	memcpy
		.LVL45:
		.LBE116:
		.LBB117:
		.LBB118:
				li	s0,-8192
				li	a2,256
				add	a1,s5,-1784
				add	a5,sp,16
				add	a1,a1,a5
				add	a0,sp,16
				call	memcpy
		.LVL46:
				add	a0,s0,1520
				add	a5,s5,-1520
				add	a4,sp,16
				add	a5,a5,a4
				add	a0,a5,a0
				call	_imp_printstring
		.LVL47:
				j	.L14
		.L11:
		.LBE118:
		.LBE117:
   19 %repeat
   20 %endofprogram
   21 Statements compiled
