         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.option nopic
		.Ltext0:
				.align	1
		CHEAPESTPRICE.6028:
		.LFB187:
		.LVL27:
				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)
				sd	s7,1960(sp)
				sd	s8,1952(sp)
				sd	s9,1944(sp)
				sd	s10,1936(sp)
				sd	s11,1928(sp)
				add	s0,sp,2032
				li	t1,-12288
				add	t1,t1,-1232
				add	sp,sp,t1
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				sd	a5,-120(s0)
				li	s1,-16384
				li	s2,-16384
				add	a5,s2,1408
				add	a5,a5,s0
				sd	s0,0(a5)
    2     %integer n
				call	_imp_initialise
		.LVL28:
		.LBB116:
		.LBB117:
				lui	a5,%hi(_imp_InStream)
				li	a4,1
				sw	a4,%lo(_imp_InStream)(a5)
				lui	a5,%hi(_imp_infile+296)
				ld	a4,%lo(_imp_infile+296)(a5)
				lui	a5,%hi(_imp_InFile)
				sd	a4,%lo(_imp_InFile)(a5)
				lui	a0,%hi(.LANCHOR0+256)
				addi	a0,a0,%lo(.LANCHOR0+256)
				call	check_instream
		.LVL29:
		.LBE117:
		.LBE116:
    3     %record %format flightfm(%integer from,to,cost)
    4
    5     %integer %function min(%integer a, b)
    6         %result = a %if (a < b)
    7         %result = b
    8     %end
    9
   10     select input(1)
   11     read(n)
				add	a5,s0,-112
				add	a0,a5,s1
				add	a0,a0,1512
				call	_imp_readint
		.LVL30:
		.LBB118:
   12
   13     %begin
   14         %record(flightfm) %array flights(1:n)
				add	a5,s2,1400
				add	a5,a5,s0
				lw	s4,0(a5)
		.LVL31:
				sll	a5,s4,1
				add	a5,a5,s4
				sll	a5,a5,2
				add	a5,a5,18
				and	a5,a5,-16
				sub	sp,sp,a5
				add	a5,s2,1392
				add	a5,a5,s0
				sd	sp,0(a5)
		.LVL32:
		.LBB119:
		.LBB120:
   15         %integer i,start,destination,stops, min cost, max cost
   16
   17         %routine cheapest price( %integer src, dst, stops, cost so far )
		.LVL0:
				add	sp,sp,-1360
				sd	ra,1352(sp)
				sd	s0,1344(sp)
				sd	s1,1336(sp)
				sd	s2,1328(sp)
				sd	s3,1320(sp)
				sd	s4,1312(sp)
				sd	s5,1304(sp)
				sd	s6,1296(sp)
				mv	s6,a3
				mv	s0,t2
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				sd	a5,1288(sp)
   18             %integer i
   19
   20             %if (src = dst) %start
				beq	a0,a1,.L16
		.L2:
				mv	s1,a0
				mv	s5,a1
				mv	s3,a2
   21                 min cost = min(min cost, cost so far)
				lw	a5,12(t2)
				sext.w	a4,a5
				ble	a4,a3,.L3
				mv	a5,a3
		.L3:
				sw	a5,12(s0)
   22             %finish %else %if (stops >= 0) %start
				j	.L1
		.LVL9:
		.L17:
		.LBB115:
   23
   24                 %for i = 1,1,n %cycle
				bltz	a2,.L1
		.LBB112:
   25                     %if (flights(i)_from = src) %start
				lw	s2,8(t2)
		.LVL1:
		.LBB113:
				lw	a4,0(a5)
				beq	a4,s1,.L18
		.L10:
				mv	a4,s4
   26                         cheapest price( flights(i)_to, dst, stops - 1, cost so far + flights(i)_cost )
				addw	a5,s2,-1
		.LVL2:
		.LBE113:
				sll	a4,a5,32
				bltz	a4,.L17
		.LVL3:
		.L5:
				addw	s3,s3,-1
		.LVL4:
		.L9:
				lui	a5,%hi(_imp_current_file)
		.LVL10:
				ld	a1,%lo(_imp_current_file)(a5)
		.LVL11:
				beqz	a1,.L6
				add	a0,sp,776
		.LVL12:
				call	_imp_c2istr
		.LVL13:
		.L7:
				lui	a5,%hi(_imp_current_line)
				lw	s4,%lo(_imp_current_line)(a5)
				bnez	s4,.L8
				li	s4,26
		.L8:
				lui	a1,%hi(.LC12)
				addi	a1,a1,%lo(.LC12)
				add	a0,sp,1032
				call	_imp_c2istr
		.LVL14:
				li	a2,256
				add	a1,sp,776
				add	a0,sp,256
				call	memcpy
		.LVL15:
				li	a2,256
				add	a1,sp,1032
				mv	a0,sp
				call	memcpy
		.LVL16:
				li	a5,0
				li	a4,1
				li	a3,5
				mv	a2,sp
				mv	a1,s4
				add	a0,sp,256
				call	_signal_event
		.LVL17:
				j	.L5
		.LVL18:
		.L6:
		.LBB114:
				li	a2,256
		.LVL19:
				lui	a1,%hi(.LANCHOR0)
				addi	a1,a1,%lo(.LANCHOR0)
				add	a0,sp,1032
		.LVL20:
				call	memcpy
		.LVL21:
				li	a2,256
				add	a1,sp,1032
				add	a0,sp,520
				call	memcpy
		.LVL22:
		.LBE114:
				li	a2,256
				add	a1,sp,520
				add	a0,sp,776
				call	memcpy
		.LVL23:
				j	.L7
		.L18:
				lw	a3,8(a5)
				mv	t2,s0
				addw	a3,a3,s6
				mv	a2,s3
				mv	a1,s5
				lw	a0,4(a5)
				call	CHEAPESTPRICE.6028
		.LVL24:
				j	.L10
		.LVL25:
		.L19:
		.LBE115:
				call	__stack_chk_fail
		.LVL26:
		.LFE187:
				.align	1
				.globl	main
		main:
		.LFB185:
   27                     %finish
   28                 %repeat
   29
				beqz	s2,.L1
				li	a4,0
				bne	s2,s4,.L9
		.L4:
		.L11:
		.L12:
		.LVL7:
		.L1:
		.LBE112:
   30             %finish
				addw	s4,a4,1
		.LVL5:
				sll	a5,a4,1
				add	a5,a5,a4
				sll	a5,a5,2
				ld	a4,0(s0)
		.LVL6:
				add	a5,a4,a5
   31
   32         %end
   33
				ld	a4,1288(sp)
				lui	a5,%hi(__stack_chk_guard)
				ld	a5,%lo(__stack_chk_guard)(a5)
				bne	a4,a5,.L19
				ld	ra,1352(sp)
				ld	s0,1344(sp)
				ld	s1,1336(sp)
				ld	s2,1328(sp)
				ld	s3,1320(sp)
				ld	s4,1312(sp)
				ld	s5,1304(sp)
				ld	s6,1296(sp)
				add	sp,sp,1360
				jr	ra
		.LVL8:
		.L16:
   34         %for i=1,1,n %cycle
   35             read(flights(i)_from)
				li	s2,-16384
				add	a5,s0,-112
				add	s2,a5,s2
		.LVL35:
		.L26:
				ld	a0,1504(s2)
		.LVL37:
				add	a0,a0,s1
				call	_imp_readint
		.LVL38:
   36             read(flights(i)_to)
				addw	a5,s4,-1
		.LVL33:
		.LBE120:
				sll	a4,a5,32
				bltz	a4,.L50
		.LVL34:
		.L21:
				add	a5,s1,4
				ld	a0,1504(s2)
				add	a0,a0,a5
				call	_imp_readint
		.LVL39:
				lui	a5,%hi(_imp_current_file)
		.LVL115:
				ld	a1,%lo(_imp_current_file)(a5)
				beqz	a1,.L22
				li	a5,-8192
				add	a4,s0,-112
				add	a5,a4,a5
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,1784
				call	_imp_c2istr
		.LVL116:
		.L23:
				lui	a5,%hi(_imp_current_line)
				lw	s2,%lo(_imp_current_line)(a5)
				bnez	s2,.L24
				li	s2,36
		.L24:
				li	a5,-8192
				add	a4,s0,-112
				add	a5,a4,a5
				li	s5,-16384
				add	a4,s5,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s3,a5,2040
				lui	a1,%hi(.LC12)
				addi	a1,a1,%lo(.LC12)
				mv	a0,s3
				call	_imp_c2istr
		.LVL117:
				li	s1,-16384
				li	a2,256
				add	a5,s5,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	a1,a5,1784
				add	a5,s5,-112
				add	a5,a5,s0
				add	a0,a5,1232
				call	memcpy
		.LVL118:
				li	a2,256
				mv	a1,s3
				add	a5,s5,-112
				add	a5,a5,s0
				add	a0,a5,976
				call	memcpy
		.LVL119:
				add	a2,s1,976
				add	a0,s1,1232
				li	a5,0
				li	a4,1
				li	a3,5
				add	a1,s0,-112
				add	a2,a1,a2
				mv	a1,s2
				add	s1,s0,-112
				add	a0,s1,a0
				call	_signal_event
		.LVL120:
				j	.L21
		.L22:
		.LBB121:
				li	a2,256
				lui	a1,%hi(.LANCHOR0)
				addi	a1,a1,%lo(.LANCHOR0)
				add	a0,s0,-376
				call	memcpy
		.LVL121:
				li	a5,-16384
				add	a4,s0,-112
				add	a5,a4,a5
				li	s2,-16384
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s1,a5,1528
				li	a2,256
				add	a1,s0,-376
				mv	a0,s1
				call	memcpy
		.LVL122:
		.LBE121:
				li	a5,-8192
				li	a2,256
				mv	a1,s1
				add	a4,s0,-112
				add	a5,a4,a5
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,1784
				call	memcpy
		.LVL123:
				j	.L23
		.LVL124:
		.L51:
		.LBE213:
		.LBB214:
   37             read(flights(i)_cost)
				add	s1,s1,8
				ld	a0,1504(s2)
				add	a0,a0,s1
				call	_imp_readint
		.LVL40:
				mv	a0,s3
   38         %repeat
   39         read(start)
				beqz	s4,.L25
				li	a0,0
				bne	s3,s4,.L26
		.L25:
		.LBE119:
				li	s1,-16384
				add	a0,s1,1492
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_readint
		.LVL41:
				add	a0,s1,1496
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_readint
		.LVL42:
   40         read(destination)
				addw	s3,a0,1
		.LVL36:
				sll	s1,a0,1
				add	s1,s1,a0
				sll	s1,s1,2
   41         read(stops)
				add	a0,s1,1500
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_readint
		.LVL43:
		.LBB122:
		.LBB123:
				lui	a5,%hi(_imp_OutStream)
				sw	zero,%lo(_imp_OutStream)(a5)
				lui	a5,%hi(_imp_outfile+8)
				ld	a4,%lo(_imp_outfile+8)(a5)
				lui	a5,%hi(_imp_OutFile)
				sd	a4,%lo(_imp_OutFile)(a5)
				lui	a0,%hi(.LANCHOR0+280)
				addi	a0,a0,%lo(.LANCHOR0+280)
				call	check_outstream
		.LVL44:
		.LBE123:
		.LBE122:
		.LBB124:
   42
   43         select output(0)
   44         %for i=1,1,n %cycle
   45             print string("Flight(".itos(i,0)."): ");
				add	a5,s0,-112
				add	s1,a5,s1
				lw	s9,1512(s1)
		.LVL45:
		.LBB125:
   46             print string(" From: ".itos(flights(i)_from,0))
				addw	a5,s9,-1
		.LVL46:
		.LBE125:
				sll	a4,a5,32
				bltz	a4,.L51
		.LVL47:
		.L27:
				lui	a5,%hi(_imp_current_file)
		.LVL125:
				ld	a1,%lo(_imp_current_file)(a5)
				beqz	a1,.L28
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,-1800
				call	_imp_c2istr
		.LVL126:
		.L29:
				lui	a5,%hi(_imp_current_line)
				lw	s2,%lo(_imp_current_line)(a5)
				bnez	s2,.L30
				li	s2,46
		.L30:
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				li	s4,-16384
		.LVL127:
				add	a4,s4,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s3,a5,-1544
				lui	a1,%hi(.LC12)
				addi	a1,a1,%lo(.LC12)
				mv	a0,s3
				call	_imp_c2istr
		.LVL128:
				li	s1,-16384
				li	a2,256
				add	a5,s4,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	a1,a5,-1800
				add	a5,s4,-112
				add	a5,a5,s0
				add	a0,a5,976
				call	memcpy
		.LVL129:
				li	a2,256
				mv	a1,s3
				add	a5,s4,-112
				add	a5,a5,s0
				add	a0,a5,1232
				call	memcpy
		.LVL130:
				add	a2,s1,1232
				add	a0,s1,976
				li	a5,0
				li	a4,1
				li	a3,5
				add	a1,s0,-112
				add	a2,a1,a2
				mv	a1,s2
				add	s1,s0,-112
				add	a0,s1,a0
				call	_signal_event
		.LVL131:
				j	.L27
		.LVL132:
		.L28:
		.LBB163:
				li	a2,256
				lui	a1,%hi(.LANCHOR0)
				addi	a1,a1,%lo(.LANCHOR0)
				add	a0,s0,-376
				call	memcpy
		.LVL133:
				li	a5,-16384
				add	a4,s0,-112
				add	a5,a4,a5
				li	s2,-16384
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s1,a5,1784
				li	a2,256
				add	a1,s0,-376
				mv	a0,s1
				call	memcpy
		.LVL134:
		.LBE163:
				li	a5,-4096
				li	a2,256
				mv	a1,s1
				add	a4,s0,-112
				add	a5,a4,a5
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,-1800
				call	memcpy
		.LVL135:
				j	.L29
		.LVL136:
		.L52:
		.LBE214:
		.LBB215:
   47             print string("   To: ".itos(flights(i)_to,0))
				li	s1,-12288
				li	a5,-12288
				add	a5,a5,-112
				add	a5,a5,s0
				add	a5,a5,-1800
				add	a3,a4,848
				add	a3,a3,s0
				sd	a5,0(a3)
				li	s10,-16384
				add	a5,s0,-112
				add	s7,a5,s10
				add	a5,s7,2040
				add	a4,a4,840
				add	a4,a4,s0
				sd	a5,0(a4)
		.LVL48:
		.L32:
		.LBE128:
		.LBE127:
		.LBE126:
				add	a2,s1,-1288
				add	a1,s1,-1544
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				li	s6,-16384
				add	a5,s6,848
				add	a5,a5,s0
				ld	a0,0(a5)
				call	_imp_join
		.LVL51:
		.LBE135:
				add	a2,s1,-1032
				add	a1,s1,-1800
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL52:
				add	a5,s6,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	s2,a5,760
				li	a2,256
				add	a5,s6,840
				add	a5,a5,s0
				ld	a1,0(a5)
				mv	a0,s2
				call	memcpy
		.LVL53:
		.LBE136:
		.LBE137:
		.LBB138:
		.LBB139:
				add	s5,s7,976
				li	a2,256
				mv	a1,s2
				mv	a0,s5
				call	memcpy
		.LVL54:
				add	s4,s10,976
				add	a5,s0,-112
				add	s4,a5,s4
				mv	a0,s4
				call	_imp_printstring
		.LVL55:
		.LBE139:
		.LBE138:
		.LBB140:
		.LBB141:
		.LBB142:
   48             print string(" Cost: ".itos(flights(i)_cost,0))
				ld	a5,1504(s7)
				sll	s2,s3,1
				add	a4,s2,s3
				sll	a4,a4,2
				add	a5,a5,a4
		.LBB143:
		.LBB144:
				li	a2,0
				lw	a1,0(a5)
				add	a5,s6,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	a0,a5,504
				call	_imp_itos
		.LVL56:
		.LBE144:
		.LBE143:
		.LBE142:
				add	a2,s1,-264
				add	a1,s1,-520
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL57:
				add	a5,s6,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	s6,a5,248
				li	a2,256
				li	a5,-12288
				add	a4,a5,-112
				add	a4,a4,s0
				add	a1,a4,-776
				mv	a0,s6
				call	memcpy
		.LVL58:
		.LBE141:
		.LBE140:
		.LBB145:
		.LBB146:
				li	a2,256
				mv	a1,s6
				mv	a0,s5
				call	memcpy
		.LVL59:
				mv	a0,s4
				call	_imp_printstring
		.LVL60:
		.LBE146:
		.LBE145:
		.LBB147:
		.LBB148:
		.LBB149:
   49             newline
				beqz	s9,.L31
				li	s3,0
		.LBB126:
		.LBB127:
		.LBB128:
		.LBB129:
		.LBB130:
		.LBB131:
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				li	a4,-16384
				add	a3,a4,856
				add	a3,a3,s0
				sd	a5,0(a3)
				ld	a5,0(a3)
				add	s11,a5,1016
		.LBE131:
		.LBE130:
		.LBE129:
				ld	a5,1504(s7)
				add	a4,s2,s3
				sll	a4,a4,2
				add	a5,a5,a4
		.LBB150:
		.LBB151:
				li	a2,0
				lw	a1,4(a5)
				li	s6,-16384
				add	a5,s6,856
				add	a5,a5,s0
				ld	a4,0(a5)
				add	a0,a4,-8
				call	_imp_itos
		.LVL61:
		.LBE151:
		.LBE150:
		.LBE149:
				add	a2,s1,504
				add	a1,s1,248
				add	a4,s0,-112
				add	a2,a4,a2
				add	a1,a4,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL62:
				add	a5,s6,856
				add	a5,a5,s0
				ld	a4,0(a5)
				add	s6,a4,-264
				li	a2,256
				li	a5,-12288
				add	a4,a5,-112
				add	a4,a4,s0
				add	a1,a4,-8
				mv	a0,s6
				call	memcpy
		.LVL63:
		.LBE148:
		.LBE147:
		.LBB152:
		.LBB153:
				li	a2,256
				mv	a1,s6
				mv	a0,s5
				call	memcpy
		.LVL64:
				mv	a0,s4
				call	_imp_printstring
		.LVL65:
		.LBE153:
		.LBE152:
		.LBB154:
		.LBB155:
		.LBB156:
				ld	a5,1504(s7)
				add	s2,s2,s3
				sll	s2,s2,2
				add	s2,a5,s2
		.LBB157:
		.LBB158:
				li	a2,0
				lw	a1,8(s2)
				li	s2,-16384
				add	a5,s2,856
				add	a5,a5,s0
				ld	a4,0(a5)
				add	a0,a4,-520
				call	_imp_itos
		.LVL66:
		.LBE158:
		.LBE157:
		.LBE156:
				add	a2,s1,1272
				add	a1,s1,1016
				add	a4,s0,-112
				add	a2,a4,a2
				add	a1,a4,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL67:
				add	a5,s2,856
				add	a5,a5,s0
				ld	a4,0(a5)
				add	s2,a4,-776
				li	a2,256
				li	a5,-12288
				add	a5,a5,-112
				add	a5,a5,s0
				add	a1,a5,760
				mv	a0,s2
				call	memcpy
		.LVL68:
		.LBE155:
		.LBE154:
		.LBB159:
		.LBB160:
				li	a2,256
				mv	a1,s2
				mv	a0,s5
				call	memcpy
		.LVL69:
				mv	a0,s4
				call	_imp_printstring
		.LVL70:
		.LBE160:
		.LBE159:
		.LBB161:
		.LBB162:
				call	_imp_newline
		.LVL71:
		.LBE162:
		.LBE161:
				mv	s3,s8
		.LVL72:
				bne	s9,s8,.L32
		.L31:
		.LVL73:
		.LBE124:
		.LBB164:
		.LBB165:
		.LBB166:
   50         %repeat
				addw	s8,s3,1
		.LVL49:
		.LBB137:
		.LBB136:
		.LBB135:
		.LBB134:
		.LBB133:
		.LBB132:
				li	a2,0
				mv	a1,s8
				mv	a0,s11
				call	_imp_itos
		.LVL50:
		.LBE132:
		.LBE133:
		.LBE134:
   51         printstring("      Start: ".itos(start,0)); newline
   52         printstring("Destination: ".itos(destination,0)); newline
   53         printstring("      Stops: ".itos(stops,0)); newline
				li	s1,-16384
				add	a5,s0,-112
				add	s3,a5,s1
		.LBB167:
		.LBB168:
				li	a2,0
				lw	a1,1492(s3)
				add	a0,s0,-1656
				call	_imp_itos
		.LVL74:
		.LBE168:
		.LBE167:
		.LBE166:
				li	s2,-12288
				add	a2,s2,2040
				add	a1,s2,1784
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL75:
				add	a5,s0,-112
				add	a5,a5,s2
				li	s2,-16384
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				li	a2,256
				ld	a5,0(a4)
				add	a1,a5,1528
				add	a0,s0,-1912
				call	memcpy
		.LVL76:
		.LBE165:
		.LBE164:
		.LBB169:
		.LBB170:
				add	s4,s3,976
				li	a2,256
				add	a1,s0,-1912
				mv	a0,s4
				call	memcpy
		.LVL77:
				add	s1,s1,976
				add	a5,s0,-112
				add	s1,a5,s1
				mv	a0,s1
				call	_imp_printstring
		.LVL78:
		.LBE170:
		.LBE169:
		.LBB171:
		.LBB172:
				call	_imp_newline
		.LVL79:
		.LBE172:
		.LBE171:
		.LBB173:
		.LBB174:
		.LBB175:
		.LBB176:
		.LBB177:
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				mv	s5,s2
				add	a4,s2,856
				add	a4,a4,s0
				sd	a5,0(a4)
				li	a2,0
				lw	a1,1496(s3)
				ld	a5,0(a4)
				add	a0,a5,2040
				call	_imp_itos
		.LVL80:
		.LBE177:
		.LBE176:
		.LBE175:
   54         max cost = 0
				li	s2,-8192
				add	a2,s2,-1288
				add	a1,s2,-1544
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL81:
				mv	s7,s5
				add	a5,s5,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	s5,a5,1784
				li	a2,256
				li	s6,-8192
				add	a5,s6,-112
				add	a5,a5,s0
				add	a1,a5,-1800
				mv	a0,s5
				call	memcpy
		.LVL82:
		.LBE174:
		.LBE173:
		.LBB178:
		.LBB179:
				li	a2,256
				mv	a1,s5
				mv	a0,s4
				call	memcpy
		.LVL83:
				mv	a0,s1
				call	_imp_printstring
		.LVL84:
		.LBE179:
		.LBE178:
		.LBB180:
		.LBB181:
				call	_imp_newline
		.LVL85:
		.LBE181:
		.LBE180:
		.LBB182:
		.LBB183:
		.LBB184:
		.LBB185:
		.LBB186:
				li	a2,0
				lw	a1,1500(s3)
				add	a5,s7,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	a0,a5,1528
				call	_imp_itos
		.LVL86:
		.LBE186:
		.LBE185:
		.LBE184:
				li	s1,0
		.LVL95:
		.L38:
		.LBB194:
				mv	s1,s2
				j	.L37
		.LVL147:
		.L53:
		.LBB216:
   55         %for i = 1,1,n %cycle
				add	a2,s2,-520
				add	a1,s2,-776
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL87:
				add	a5,s7,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	s2,a5,1272
				li	a2,256
				add	a5,s6,-112
				add	a5,a5,s0
				add	a1,a5,-1032
				mv	a0,s2
				call	memcpy
		.LVL88:
		.LBE183:
		.LBE182:
		.LBB187:
		.LBB188:
				li	a2,256
				mv	a1,s2
				mv	a0,s4
				call	memcpy
		.LVL89:
				mv	a0,s1
				call	_imp_printstring
		.LVL90:
		.LBE188:
		.LBE187:
		.LBB189:
		.LBB190:
				call	_imp_newline
		.LVL91:
		.LBE190:
		.LBE189:
		.LBB191:
   56             max cost = max cost + flights(i)_cost
				lw	s2,1512(s3)
		.LVL92:
		.LBB192:
				li	a5,-16384
				add	a4,s0,-112
				add	a5,a4,a5
				ld	a3,1504(a5)
				sll	a5,a4,1
				add	a5,a5,a4
				sll	a5,a5,2
				add	a5,a3,a5
				lw	a5,8(a5)
				addw	s1,a5,s1
		.LVL96:
		.LDL1:
   57         %repeat
				addw	a5,s2,-1
		.LVL93:
		.LBE192:
				sll	a4,a5,32
				bltz	a4,.L52
		.LVL94:
		.L33:
				lui	a5,%hi(_imp_current_file)
		.LVL137:
				ld	a1,%lo(_imp_current_file)(a5)
				beqz	a1,.L34
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,-1288
				call	_imp_c2istr
		.LVL138:
		.L35:
				lui	a5,%hi(_imp_current_line)
				lw	s3,%lo(_imp_current_line)(a5)
				bnez	s3,.L36
				li	s3,57
		.L36:
				li	a5,-4096
				add	a4,s0,-112
				add	a5,a4,a5
				li	s5,-16384
				add	a4,s5,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s4,a5,-1032
				lui	a1,%hi(.LC12)
				addi	a1,a1,%lo(.LC12)
				mv	a0,s4
				call	_imp_c2istr
		.LVL139:
				li	s1,-16384
				li	a2,256
				add	a5,s5,856
				add	a5,a5,s0
				ld	a5,0(a5)
				add	a1,a5,-1288
				add	a5,s5,-112
				add	a5,a5,s0
				add	a0,a5,976
				call	memcpy
		.LVL140:
				li	a2,256
				mv	a1,s4
				add	a5,s5,-112
				add	a5,a5,s0
				add	a0,a5,1232
				call	memcpy
		.LVL141:
				add	a2,s1,1232
				add	a0,s1,976
				li	a5,0
				li	a4,1
				li	a3,5
				add	a1,s0,-112
				add	a2,a1,a2
				mv	a1,s3
				add	s1,s0,-112
				add	a0,s1,a0
				call	_signal_event
		.LVL142:
				j	.L33
		.L34:
		.LBB193:
				li	a2,256
				lui	a1,%hi(.LANCHOR0)
				addi	a1,a1,%lo(.LANCHOR0)
				add	a0,s0,-376
				call	memcpy
		.LVL143:
				li	a5,-8192
				add	a4,s0,-112
				add	a5,a4,a5
				li	s3,-16384
				add	a4,s3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s1,a5,-264
				li	a2,256
				add	a1,s0,-376
				mv	a0,s1
				call	memcpy
		.LVL144:
		.LBE193:
				li	a5,-4096
				li	a2,256
				mv	a1,s1
				add	a4,s0,-112
				add	a5,a4,a5
				add	a4,s3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	a0,a5,-1288
				call	memcpy
		.LVL145:
				j	.L35
		.LVL146:
		.L45:
		.LBE215:
   58         print string( "Greatest cost: ".itos(max cost,0));newline
				li	a4,0
		.LBE191:
   59
   60         min cost = max cost
				beqz	s2,.L45
				bne	s2,a4,.L38
		.L37:
		.LVL98:
		.LBE194:
		.LBB195:
		.LBB196:
		.LBB197:
		.LBB198:
		.LBB199:
				li	a2,0
				mv	a1,s1
				add	a0,s0,-1144
				call	_imp_itos
		.LVL99:
		.LBE199:
		.LBE198:
		.LBE197:
				li	s2,-8192
		.LVL100:
				add	a2,s2,504
				add	a1,s2,248
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-376
				call	_imp_join
		.LVL101:
				add	a5,s0,-112
				add	a5,a5,s2
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				li	a2,256
				ld	a5,0(a4)
				add	a1,a5,-8
				add	a0,s0,-1400
				call	memcpy
		.LVL102:
		.LBE196:
		.LBE195:
		.LBB200:
		.LBB201:
				li	s3,-16384
				add	a5,s0,-112
				add	s2,a5,s3
				li	a2,256
				add	a1,s0,-1400
				add	a0,s2,976
				call	memcpy
		.LVL103:
				add	a0,s3,976
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_printstring
		.LVL104:
		.LBE201:
		.LBE200:
		.LBB202:
		.LBB203:
				call	_imp_newline
		.LVL105:
		.LBE203:
		.LBE202:
				sw	s1,1516(s2)
				add	t2,s3,1504
				add	a5,s0,-112
				add	t2,a5,t2
				li	a3,0
				lw	a2,1500(s2)
				lw	a1,1496(s2)
				lw	a0,1492(s2)
				call	CHEAPESTPRICE.6028
		.LVL106:
   61         cheapest price( start, destination, stops, 0 )
				addw	a4,a4,1
		.LVL97:
   62         %if (min cost = max cost) %start
				lw	a1,1516(s2)
				beq	a1,s1,.L53
		.L39:
		.LVL107:
		.LBB204:
		.LBB205:
		.LBB206:
		.LBB207:
		.LBB208:
				li	a2,0
				add	a0,s0,-376
				call	_imp_itos
		.LVL108:
		.LBE208:
		.LBE207:
		.LBE206:
   63             print string( "No route found for #hops, start, end points and the given flights data")
				li	a2,256
				lui	a1,%hi(.LANCHOR0+304)
				addi	a1,a1,%lo(.LANCHOR0+304)
				add	a0,s0,-376
				call	memcpy
		.LVL148:
				li	a5,-8192
				add	a4,s0,-112
				add	a5,a4,a5
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				ld	a5,0(a4)
				add	s1,a5,760
				li	a2,256
				add	a1,s0,-376
				mv	a0,s1
				call	memcpy
		.LVL149:
				li	a2,256
				mv	a1,s1
				add	a0,s0,-888
				call	memcpy
		.LVL150:
		.LBE216:
		.LBB217:
		.LBB218:
				li	s1,-16384
				li	a2,256
				add	a1,s0,-888
				li	a5,-16384
				add	a5,a5,-112
				add	a5,a5,s0
				add	a0,a5,976
				call	memcpy
		.LVL151:
				add	a0,s1,976
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_printstring
		.LVL152:
				j	.L40
		.LBE218:
		.LBE217:
		.LBE221:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		.LC0:
				.byte	25
				.string	"test-new/shortestpath.imp"
				.zero	229
		__PRETTY_FUNCTION__.5601:
				.string	"_imp_SELECTINPUT"
				.zero	7
		__PRETTY_FUNCTION__.5605:
				.string	"_imp_SELECTOUTPUT"
				.zero	6
		.LC10:
				.byte	70
				.string	"No route found for #hops, start, end points and the given flights data"
				.zero	184
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align	3
		.LC12:
				.string	"Illegal cycle I = 1, 1, N"
		.Letext0:
   64         %finish %else %start
   65             print string( "Minimum cost: ".itos(min cost,0))
   66         %finish
   67         newline
				li	s1,-8192
				add	a2,s1,1528
				add	a1,s1,1272
				add	a5,s0,-112
				add	a2,a5,a2
				add	a1,a5,a1
				add	a0,s0,-632
				call	_imp_join
		.LVL109:
				add	a5,s0,-112
				add	a5,a5,s1
				li	a3,-16384
				add	a4,a3,856
				add	a4,a4,s0
				sd	a5,0(a4)
				li	a2,256
				ld	a5,0(a4)
				add	a1,a5,1016
				add	a0,s0,-632
				call	memcpy
		.LVL110:
		.LBE205:
		.LBE204:
		.LBB209:
		.LBB210:
				li	s1,-16384
				li	a2,256
				add	a1,s0,-632
				li	a5,-16384
				add	a5,a5,-112
				add	a5,a5,s0
				add	a0,a5,976
				call	memcpy
		.LVL111:
				add	a0,s1,976
				add	a5,s0,-112
				add	a0,a5,a0
				call	_imp_printstring
		.LVL112:
		.L40:
		.LBE210:
		.LBE209:
		.LBB211:
		.LBB212:
				call	_imp_newline
		.LVL113:
		.LDL2:
		.LBE212:
		.LBE211:
		.LBE118:
		.LBB219:
		.LBB220:
				li	a0,0
				call	exit
		.LVL114:
		.L50:
		.LBE220:
		.LBE219:
		.LBB221:
		.LBB213:
   68
   69     %end
   70
   71 %end
   72 %endoffile
   63 Statements compiled
