         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				.section	".text"
		.Ltext0:
				.section	.rodata.str1.8,"aMS",@progbits,1
				.align 8
		.LC12:
				.asciz	"Illegal cycle I = 1, 1, N"
				.section	".rodata"
		.LC0:
				.byte	25
				.asciz	"test-new/shortestpath.imp"
				.skip	229
				.section	".text"
				.align 4
				.proc	020
		CHEAPESTPRICE.6083:
		.LFB187:
		.LVL20:
				sethi	%hi(15360), %g1
				xor	%g1, -256, %g1
				save	%sp, %g1, %sp
		.LVL21:
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
				sethi	%hi(14336), %i5
				xor	%i5, -544, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i4
				stx	%g1, [%i4+16]
    2     %integer n
				mov	%i1, %o1
				call	_imp_initialise, 0
				 mov	%i0, %o0
		.LVL22:
		.LBB117:
		.LBB118:
				sethi	%hi(_imp_InStream), %g1
				mov	1, %g2
				st	%g2, [%g1+%lo(_imp_InStream)]
				sethi	%hi(_imp_infile), %g1
				ldx	[%g1+%lo(_imp_infile)+296], %g2
				sethi	%hi(_imp_InFile), %g1
				stx	%g2, [%g1+%lo(_imp_InFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5656), %o0
				call	check_instream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5656), %o0
		.LVL23:
		.LBE118:
		.LBE117:
    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)
				call	_imp_readint, 0
				 add	%i4, 8, %o0
		.LVL24:
		.LBB119:
   12
   13     %begin
   14         %record(flightfm) %array flights(1:n)
				lduw	[%i4+8], %i2
		.LVL25:
				sra	%i2, 0, %g2
		.LVL26:
				add	%g2, %g2, %g1
				add	%g1, %g2, %g1
				sllx	%g1, 2, %g1
				add	%g1, 18, %g1
				and	%g1, -16, %g1
				sub	%sp, %g1, %sp
				add	%sp, 2226, %g1
				and	%g1, -4, %g1
				add	%fp, 2047, %g2
		.LVL27:
		.LBB120:
   15         %integer i,start,destination,stops, min cost, max cost
   16
   17         %routine cheapest price( %integer src, dst, stops, cost so far )
				.register	%g2, #scratch
				.register	%g3, #scratch
				.register	%g7, #ignore
		.LVL0:
				save	%sp, -1472, %sp
		.LVL1:
				mov	%g5, %i4
				ldx	[%g7+40], %g1
				stx	%g1, [%fp+2039]
				mov	0, %g1
   18             %integer i
   19
   20             %if (src = dst) %start
				cmp	%i0, %i1
				be,pn	%icc, .L14
				 cmp	%i2, 0
		.L2:
   21                 min cost = min(min cost, cost so far)
				lduw	[%g5+12], %g1
				cmp	%g1, %i3
				movle	%icc, %g1, %i3
   22             %finish %else %if (stops >= 0) %start
				ba,pt	%xcc, .L1
				 st	%i3, [%g5+12]
		.LVL7:
		.L15:
		.LBB114:
   23
   24                 %for i = 1,1,n %cycle
				bl,pn	%icc, .L1
				 nop
		.LBB112:
   25                     %if (flights(i)_from = src) %start
				lduw	[%g5+8], %l0
		.LVL2:
				lduw	[%g2+%g1], %g1
				cmp	%g1, %i0
				be,a,pn	%icc, .L16
				 lduw	[%g3+8], %o3
   26                         cheapest price( flights(i)_to, dst, stops - 1, cost so far + flights(i)_cost )
				addcc	%l0, -1, %g0
				bneg,pn	%icc, .L15
				 cmp	%l0, 0
		.LVL3:
		.L18:
				add	%i2, -1, %i2
				sra	%i2, 0, %i2
		.LVL4:
		.L8:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L5
				 mov	256, %o2
				call	_imp_c2istr, 0
				 add	%fp, 1527, %o0
		.LVL8:
				sethi	%hi(_imp_current_line), %g1
		.L19:
				lduw	[%g1+%lo(_imp_current_line)], %i5
				cmp	%i5, 0
				move	%icc, 26, %i5
				sethi	%hi(.LC12), %o1
				or	%o1, %lo(.LC12), %o1
				call	_imp_c2istr, 0
				 add	%fp, 1783, %o0
		.LVL9:
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 add	%fp, 1007, %o0
		.LVL10:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 751, %o0
		.LVL11:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				add	%fp, 751, %o2
				sra	%i5, 0, %o1
				call	_signal_event, 0
				 add	%fp, 1007, %o0
		.LVL12:
		.LBE114:
				sethi	%hi(.LC0), %o1
				or	%o1, %lo(.LC0), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL13:
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL14:
		.LBE113:
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL15:
		.LBE115:
				ba,pt	%xcc, .L19
				 sethi	%hi(_imp_current_line), %g1
		.LVL16:
		.L16:
		.LBB116:
				add	%o3, %i3, %o3
				mov	%i4, %g5
				sra	%o3, 0, %o3
				mov	%i2, %o2
				mov	%i1, %o1
				call	CHEAPESTPRICE.6083, 0
				 ldsw	[%g3+4], %o0
		.LVL17:
		.LBE116:
   27                     %finish
   28                 %repeat
   29
				be,pn	%icc, .L1
				 mov	0, %g1
				cmp	%l0, %i5
		.L20:
				bne,pt	%icc, .L8
				 mov	%i5, %g1
		.L3:
		.L10:
		.L11:
		.LVL6:
		.L1:
		.LBE112:
				ba,pt	%xcc, .L18
				 cmp	%l0, 0
		.L5:
		.LBB115:
		.LBB113:
				ba,pt	%xcc, .L20
				 cmp	%l0, %i5
		.LVL18:
		.L17:
				call	__stack_chk_fail, 0
				 nop
		.LVL19:
				nop
		.LFE187:
				.section	".rodata"
		.LC10:
				.byte	70
				.asciz	"No route found for #hops, start, end points and the given flights data"
				.skip	184
				.section	".text"
				.align 4
				.global main
				.proc	04
		main:
		.LFB185:
   30             %finish
				add	%g1, 1, %i5
		.LVL5:
				sra	%g1, 0, %g1
				add	%g1, %g1, %g2
				add	%g2, %g1, %g1
				sllx	%g1, 2, %g1
				ldx	[%i4], %g2
				add	%g2, %g1, %g3
   31
   32         %end
   33
				ldx	[%fp+2039], %g1
				ldx	[%g7+40], %g2
				xor	%g1, %g2, %g1
				mov	0, %g2
				brnz,pn	%g1, .L17
				 nop
				return	%i7+8
				 nop
		.L14:
   34         %for i=1,1,n %cycle
   35             read(flights(i)_from)
				sethi	%hi(14336), %i4
				xor	%i4, -544, %i4
		.LVL29:
		.L27:
				add	%fp, 2047, %g1
				ldx	[%g1+%i4], %o0
				call	_imp_readint, 0
				 add	%o0, %i5, %o0
		.LVL31:
   36             read(flights(i)_to)
				addcc	%i2, -1, %g0
				bneg,pn	%icc, .L50
				 stx	%g1, [%g2+%i5]
		.LVL28:
				add	%i5, 4, %g1
				add	%fp, 2047, %g2
				ldx	[%g2+%i4], %o0
				call	_imp_readint, 0
				 add	%o0, %g1, %o0
		.LVL32:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L23
				 mov	256, %o2
				sethi	%hi(6144), %o0
				xor	%o0, -264, %o0
				call	_imp_c2istr, 0
				 add	%g2, %o0, %o0
		.LVL107:
				sethi	%hi(_imp_current_line), %g1
		.L55:
				lduw	[%g1+%lo(_imp_current_line)], %i1
		.LVL108:
				cmp	%i1, 0
				be,a,pt	%icc, .L25
				 mov	36, %i1
		.L25:
				sethi	%hi(6144), %i5
				xor	%i5, -8, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				sethi	%hi(.LC12), %o1
				or	%o1, %lo(.LC12), %o1
				call	_imp_c2istr, 0
				 mov	%i3, %o0
		.LVL109:
				xor	%i5, -264, %o1
				sethi	%hi(14336), %i5
				xor	%i5, -816, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL110:
				sethi	%hi(15360), %i4
				xor	%i4, -48, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL111:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				mov	%i4, %o2
				sra	%i1, 0, %o1
				call	_signal_event, 0
				 mov	%i5, %o0
		.LVL112:
		.LBE221:
		.LBE232:
				sethi	%hi(.LC0), %o1
				or	%o1, %lo(.LC0), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL114:
				sethi	%hi(14336), %i5
				xor	%i5, -520, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL115:
		.LBE121:
				mov	256, %o2
				mov	%i5, %o1
				sethi	%hi(6144), %o0
				xor	%o0, -264, %o0
				add	%fp, 2047, %g1
				call	memcpy, 0
				 add	%g1, %o0, %o0
		.LVL116:
		.LBE222:
		.LBE233:
				ba,pt	%xcc, .L55
				 sethi	%hi(_imp_current_line), %g1
		.LVL117:
		.L51:
		.LBB234:
		.LBB223:
   37             read(flights(i)_cost)
				add	%i5, 8, %i5
				add	%fp, 2047, %g1
				ldx	[%g1+%i4], %o0
				call	_imp_readint, 0
				 add	%o0, %i5, %o0
		.LVL33:
   38         %repeat
   39         read(start)
				cmp	%i2, 0
		.L54:
				be,pn	%icc, .L26
				 mov	0, %i5
				cmp	%i3, %i2
				bne,pt	%icc, .L27
				 mov	%i3, %i5
		.LVL34:
		.L26:
		.LBE120:
				sethi	%hi(14336), %i5
				xor	%i5, -556, %o0
				add	%fp, 2047, %g1
				call	_imp_readint, 0
				 add	%g1, %o0, %o0
		.LVL35:
				xor	%i5, -552, %o0
				add	%fp, 2047, %g1
				call	_imp_readint, 0
				 add	%g1, %o0, %o0
		.LVL36:
				ba,pt	%xcc, .L54
				 cmp	%i2, 0
		.LVL113:
		.L23:
		.LBB233:
		.LBB222:
		.LBB121:
   40         read(destination)
				add	%i5, 1, %i3
		.LVL30:
				sra	%i5, 0, %o0
				add	%o0, %o0, %i5
				add	%i5, %o0, %i5
				sllx	%i5, 2, %i5
   41         read(stops)
				xor	%i5, -548, %o0
				add	%fp, 2047, %g1
				call	_imp_readint, 0
				 add	%g1, %o0, %o0
		.LVL37:
		.LBB122:
		.LBB123:
				sethi	%hi(_imp_OutStream), %g1
				st	%g0, [%g1+%lo(_imp_OutStream)]
				sethi	%hi(_imp_outfile), %g1
				ldx	[%g1+%lo(_imp_outfile)+8], %g2
				sethi	%hi(_imp_OutFile), %g1
				stx	%g2, [%g1+%lo(_imp_OutFile)]
				sethi	%hi(__PRETTY_FUNCTION__.5660), %o0
				call	check_outstream, 0
				 or	%o0, %lo(__PRETTY_FUNCTION__.5660), %o0
		.LVL38:
		.LBE123:
		.LBE122:
		.LBB124:
   42
   43         select output(0)
   44         %for i=1,1,n %cycle
   45             print string("Flight(".itos(i,0)."): ");
				xor	%i5, -544, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				lduw	[%i5+8], %l5
		.LVL39:
   46             print string(" From: ".itos(flights(i)_from,0))
				addcc	%l5, -1, %g0
				bneg,pn	%icc, .L51
				 cmp	%l5, 0
		.LVL40:
		.L56:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L29
				 mov	256, %o2
				sethi	%hi(5120), %o0
				xor	%o0, -776, %o0
				add	%fp, 2047, %g1
				call	_imp_c2istr, 0
				 add	%g1, %o0, %o0
		.LVL118:
				sethi	%hi(_imp_current_line), %g1
		.L57:
				lduw	[%g1+%lo(_imp_current_line)], %i2
		.LVL119:
				cmp	%i2, 0
				be,a,pt	%icc, .L31
				 mov	46, %i2
		.L31:
				sethi	%hi(5120), %i5
				xor	%i5, -520, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				sethi	%hi(.LC12), %o1
				or	%o1, %lo(.LC12), %o1
				call	_imp_c2istr, 0
				 mov	%i3, %o0
		.LVL120:
				xor	%i5, -776, %o1
				sethi	%hi(15360), %i5
				xor	%i5, -48, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL121:
				sethi	%hi(14336), %i4
				xor	%i4, -816, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				mov	%i3, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL122:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				mov	%i4, %o2
				sra	%i2, 0, %o1
				call	_signal_event, 0
				 mov	%i5, %o0
		.LVL123:
		.LBE223:
		.LBE234:
				sethi	%hi(.LC0), %o1
				or	%o1, %lo(.LC0), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL125:
				sethi	%hi(14336), %i5
				xor	%i5, -264, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL126:
		.LBE172:
				mov	256, %o2
				mov	%i5, %o1
				sethi	%hi(5120), %o0
				xor	%o0, -776, %o0
				add	%fp, 2047, %g1
				call	memcpy, 0
				 add	%g1, %o0, %o0
		.LVL127:
		.LBE224:
		.LBE235:
				ba,pt	%xcc, .L57
				 sethi	%hi(_imp_current_line), %g1
		.LVL128:
		.L52:
		.LBB236:
		.LBB225:
   47             print string("   To: ".itos(flights(i)_to,0))
				sethi	%hi(13312), %l3
				xor	%l3, -776, %l4
				add	%fp, 2047, %g1
				add	%g1, %l4, %l4
				sethi	%hi(14336), %l7
				xor	%l7, -8, %l6
				add	%g1, %l6, %l6
		.LBE127:
		.LBE126:
		.LBE125:
		.LBB133:
		.LBB134:
				sethi	%hi(15360), %i4
				xor	%i4, -48, %i4
				add	%g1, %i4, %i4
		.LBE134:
		.LBE133:
		.LBB136:
		.LBB137:
				xor	%l3, -264, %o2
				xor	%l3, -520, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 mov	%l4, %o0
		.LVL44:
		.LBE131:
				xor	%l3, -8, %o2
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				mov	%l4, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL45:
				mov	256, %o2
				mov	%l6, %o1
				call	memcpy, 0
				 add	%fp, -1289, %o0
		.LVL46:
		.LBE132:
		.LBE159:
		.LBB160:
		.LBB135:
				mov	256, %o2
				add	%fp, -1289, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL47:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL48:
		.LBE135:
		.LBE160:
		.LBB161:
		.LBB141:
		.LBB138:
   48             print string(" Cost: ".itos(flights(i)_cost,0))
				sethi	%hi(12288), %l2
				xor	%l2, -264, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				xor	%l3, -57, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
		.LBE137:
		.LBE136:
		.LBB142:
		.LBB143:
		.LBB144:
		.LBB145:
		.LBB146:
				sethi	%hi(4096), %l1
				xor	%l1, -8, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				xor	%l3, -65, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
		.LBE146:
		.LBE145:
		.LBE144:
		.LBE143:
		.LBE142:
		.LBB151:
		.LBB152:
				xor	%l7, -544, %l0
				add	%fp, 2047, %g1
				ldx	[%g1+%l0], %g2
				sra	%i5, 0, %i5
				add	%i5, %i5, %i3
				add	%i3, %i5, %g1
				sllx	%g1, 2, %g1
		.LBB139:
		.LBB140:
				mov	0, %o2
				ldsw	[%g2+%g1], %o1
				call	_imp_itos, 0
				 add	%fp, -1545, %o0
		.LVL49:
		.LBE140:
		.LBE139:
		.LBE138:
				xor	%l2, -520, %o1
				sethi	%hi(13312), %i2
				xor	%i2, -57, %g1
				add	%g1, %fp, %g1
				ldx	[%g1], %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL50:
				xor	%l2, -776, %o1
				mov	256, %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, -1801, %o0
		.LVL51:
		.LBE141:
		.LBE161:
		.LBB162:
		.LBB163:
				mov	256, %o2
				add	%fp, -1801, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL52:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL53:
		.LBE163:
		.LBE162:
		.LBB164:
		.LBB150:
		.LBB149:
   49             newline
				be,pn	%icc, .L32
				 mov	0, %i5
		.LBB125:
		.LBB126:
		.LBB127:
				add	%fp, 2047, %g1
				ldx	[%g1+%l0], %g1
				add	%i3, %i5, %g2
				sllx	%g2, 2, %g2
				add	%g1, %g2, %g1
		.LBB148:
		.LBB147:
				mov	0, %o2
				ldsw	[%g1+4], %o1
				xor	%i2, -65, %g2
				add	%g2, %fp, %g2
				call	_imp_itos, 0
				 ldx	[%g2], %o0
		.LVL54:
		.LBE147:
		.LBE148:
		.LBE149:
				sethi	%hi(11264), %i2
				xor	%i2, -520, %o2
				xor	%i2, -776, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL55:
				xor	%l1, -264, %i1
				xor	%l2, -8, %o1
				add	%fp, 2047, %g1
				add	%g1, %i1, %i1
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i1, %o0
		.LVL56:
		.LBE150:
		.LBE164:
		.LBB165:
		.LBB166:
				mov	256, %o2
				mov	%i1, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL57:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL58:
		.LBE166:
		.LBE165:
		.LBB167:
		.LBB158:
		.LBB153:
		.LBB154:
		.LBB155:
				xor	%l1, -520, %o0
		.LBE155:
		.LBE154:
				add	%fp, 2047, %g1
				ldx	[%g1+%l0], %g1
				add	%i3, %i5, %i5
		.LVL59:
				sllx	%i5, 2, %i5
				add	%g1, %i5, %i5
		.LBB157:
		.LBB156:
				mov	0, %o2
				ldsw	[%i5+8], %o1
				add	%fp, 2047, %g1
				call	_imp_itos, 0
				 add	%g1, %o0, %o0
		.LVL60:
		.LBE156:
		.LBE157:
		.LBE153:
				xor	%i2, -8, %o1
				sethi	%hi(13312), %g1
				xor	%g1, -73, %g1
				add	%g1, %fp, %g1
				ldx	[%g1], %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL61:
				xor	%l1, -776, %i5
				xor	%i2, -264, %o1
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL62:
		.LBE158:
		.LBE167:
		.LBB168:
		.LBB169:
				mov	256, %o2
				mov	%i5, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL63:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL64:
		.LBE169:
		.LBE168:
		.LBB170:
		.LBB171:
				call	_imp_newline, 0
				 mov	%i0, %i5
		.LVL65:
		.LBE171:
		.LBE170:
				cmp	%l5, %i0
				bne,pt	%icc, .L60
				 add	%i5, 1, %i0
		.LVL66:
		.L32:
		.LBE124:
		.LBB173:
		.LBB174:
		.LBB175:
				ba,pt	%xcc, .L56
				 cmp	%l5, 0
		.LVL124:
		.L29:
		.LBB235:
		.LBB224:
		.LBB172:
   50         %repeat
				sethi	%hi(10240), %g1
				xor	%g1, -776, %g1
				add	%fp, 2047, %g2
				add	%g2, %g1, %g1
				xor	%l3, -73, %g2
				add	%g2, %fp, %g2
				stx	%g1, [%g2]
		.LVL41:
		.LBE152:
		.LBE151:
				add	%i5, 1, %i0
		.LVL42:
		.L60:
		.LBB159:
		.LBB132:
		.LBB131:
		.LBB128:
		.LBB129:
		.LBB130:
				mov	0, %o2
				sra	%i0, 0, %o1
				call	_imp_itos, 0
				 add	%fp, -1033, %o0
		.LVL43:
		.LBE130:
		.LBE129:
		.LBE128:
   51         printstring("      Start: ".itos(start,0)); newline
   52         printstring("Destination: ".itos(destination,0)); newline
   53         printstring("      Stops: ".itos(stops,0)); newline
				sethi	%hi(14336), %i4
				xor	%i4, -556, %g1
		.LBB176:
		.LBB177:
				mov	0, %o2
				add	%fp, 2047, %g2
				ldsw	[%g2+%g1], %o1
				call	_imp_itos, 0
				 add	%fp, 503, %o0
		.LVL67:
		.LBE177:
		.LBE176:
		.LBE175:
				sethi	%hi(10240), %i5
				xor	%i5, -8, %o2
				xor	%i5, -264, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL68:
				xor	%i5, -520, %o1
				mov	256, %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, 247, %o0
		.LVL69:
		.LBE174:
		.LBE173:
		.LBB178:
		.LBB179:
				sethi	%hi(15360), %i5
				xor	%i5, -48, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 247, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL70:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL71:
		.LBE179:
		.LBE178:
		.LBB180:
		.LBB181:
				call	_imp_newline, 0
				 sethi	%hi(9216), %i3
		.LVL72:
		.LBE181:
		.LBE180:
		.LBB182:
		.LBB183:
		.LBB184:
   54         max cost = 0
				xor	%i4, -552, %g1
		.LBB185:
		.LBB186:
				mov	0, %o2
				add	%fp, 2047, %g2
				ldsw	[%g2+%g1], %o1
				call	_imp_itos, 0
				 add	%fp, -9, %o0
		.LVL73:
		.LBE186:
		.LBE185:
		.LBE184:
				xor	%i3, -264, %o2
				xor	%i3, -520, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL74:
				xor	%i3, -776, %o1
				mov	256, %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, -265, %o0
		.LVL75:
		.LBE183:
		.LBE182:
		.LBB187:
		.LBB188:
				mov	256, %o2
				add	%fp, -265, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL76:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL77:
		.LBE188:
		.LBE187:
		.LBB189:
		.LBB190:
				call	_imp_newline, 0
				 nop
		.LVL78:
		.LBE190:
		.LBE189:
		.LBB191:
		.LBB192:
		.LBB193:
				mov	0, %i5
		.LVL87:
		.L39:
		.LBB202:
   55         %for i = 1,1,n %cycle
				xor	%i4, -548, %g1
		.LBB194:
		.LBB195:
				mov	0, %o2
				add	%fp, 2047, %g2
				ldsw	[%g2+%g1], %o1
				call	_imp_itos, 0
				 add	%fp, -521, %o0
		.LVL79:
		.LBE195:
		.LBE194:
		.LBE193:
				sethi	%hi(8192), %o1
				xor	%o1, -520, %o2
				xor	%o1, -776, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL80:
				xor	%i3, -8, %o1
				mov	256, %o2
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, -777, %o0
		.LVL81:
		.LBE192:
		.LBE191:
		.LBB196:
		.LBB197:
				mov	256, %o2
				add	%fp, -777, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL82:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL83:
		.LBE197:
		.LBE196:
		.LBB198:
		.LBB199:
				call	_imp_newline, 0
				 xor	%i4, -544, %i4
		.LVL84:
		.LBE199:
		.LBE198:
		.LBB200:
   56             max cost = max cost + flights(i)_cost
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				lduw	[%i4+8], %i4
		.LVL85:
				sethi	%hi(14336), %g1
				xor	%g1, -544, %g1
				add	%fp, 2047, %g2
				ldx	[%g2+%g1], %g4
				sra	%g1, 0, %g2
				add	%g2, %g2, %g1
				add	%g1, %g2, %g1
				sllx	%g1, 2, %g1
				add	%g4, %g1, %g1
				lduw	[%g1+8], %g1
				add	%i5, %g1, %i5
		.LVL89:
		.LDL1:
   57         %repeat
				addcc	%i4, -1, %g0
				bneg,pn	%icc, .L52
				 cmp	%i4, 0
		.LVL86:
		.L58:
				sethi	%hi(_imp_current_file), %g1
				ldx	[%g1+%lo(_imp_current_file)], %o1
				brz,pn	%o1, .L35
				 mov	256, %o2
				sethi	%hi(5120), %o0
				xor	%o0, -264, %o0
				add	%fp, 2047, %g1
				call	_imp_c2istr, 0
				 add	%g1, %o0, %o0
		.LVL129:
				sethi	%hi(_imp_current_line), %g1
		.L59:
				lduw	[%g1+%lo(_imp_current_line)], %i1
				cmp	%i1, 0
				be,a,pt	%icc, .L37
				 mov	57, %i1
		.L37:
				sethi	%hi(5120), %i5
				xor	%i5, -8, %i2
				add	%fp, 2047, %g1
				add	%g1, %i2, %i2
				sethi	%hi(.LC12), %o1
				or	%o1, %lo(.LC12), %o1
				call	_imp_c2istr, 0
				 mov	%i2, %o0
		.LVL130:
				xor	%i5, -264, %o1
				sethi	%hi(15360), %i5
				xor	%i5, -48, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%g1, %o1, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL131:
				sethi	%hi(14336), %i3
				xor	%i3, -816, %i3
				add	%fp, 2047, %g1
				add	%g1, %i3, %i3
				mov	256, %o2
				mov	%i2, %o1
				call	memcpy, 0
				 mov	%i3, %o0
		.LVL132:
				mov	0, %o5
				mov	1, %o4
				mov	5, %o3
				mov	%i3, %o2
				sra	%i1, 0, %o1
				call	_signal_event, 0
				 mov	%i5, %o0
		.LVL133:
		.LBE225:
		.LBE236:
				sethi	%hi(.LC0), %o1
				or	%o1, %lo(.LC0), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL134:
				sethi	%hi(8192), %i5
				xor	%i5, -264, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL135:
		.LBE201:
				mov	256, %o2
				mov	%i5, %o1
				sethi	%hi(5120), %o0
				xor	%o0, -264, %o0
				add	%fp, 2047, %g1
				call	memcpy, 0
				 add	%g1, %o0, %o0
		.LVL136:
		.LBE226:
		.LBE237:
				ba,pt	%xcc, .L59
				 sethi	%hi(_imp_current_line), %g1
		.LVL137:
		.L53:
		.LBB238:
		.LBB227:
   58         print string( "Greatest cost: ".itos(max cost,0));newline
				mov	0, %g1
		.LBE200:
   59
   60         min cost = max cost
				be,pn	%icc, .L38
				 mov	%i4, %i5
				cmp	%i4, %g3
				bne,pt	%icc, .L39
				 mov	%g3, %g1
		.LVL90:
		.L38:
		.LBE202:
		.LBB203:
		.LBB204:
		.LBB205:
		.LBB206:
		.LBB207:
				mov	0, %o2
				sra	%i5, 0, %o1
				call	_imp_itos, 0
				 add	%fp, 1015, %o0
		.LVL91:
		.LBE207:
		.LBE206:
		.LBE205:
				sethi	%hi(7168), %o1
				xor	%o1, -520, %o2
				xor	%o1, -776, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1783, %o0
		.LVL92:
				mov	256, %o2
				sethi	%hi(8192), %o1
				xor	%o1, -8, %o1
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, 759, %o0
		.LVL93:
		.LBE204:
		.LBE203:
		.LBB208:
		.LBB209:
				sethi	%hi(15360), %i4
		.LVL94:
				xor	%i4, -48, %i4
				add	%fp, 2047, %g1
				add	%g1, %i4, %i4
				mov	256, %o2
				add	%fp, 759, %o1
				call	memcpy, 0
				 mov	%i4, %o0
		.LVL95:
				call	_imp_printstring, 0
				 mov	%i4, %o0
		.LVL96:
		.LBE209:
		.LBE208:
		.LBB210:
		.LBB211:
				call	_imp_newline, 0
				 nop
		.LVL97:
		.LBE211:
		.LBE210:
				sethi	%hi(14336), %g1
				xor	%g1, -544, %i4
				add	%fp, 2047, %g2
				add	%g2, %i4, %i4
				st	%i5, [%i4+12]
				xor	%g1, -548, %g3
				xor	%g1, -552, %g2
				xor	%g1, -556, %g1
				mov	%i4, %g5
				mov	0, %o3
				add	%fp, 2047, %g4
				ldsw	[%g4+%g3], %o2
				ldsw	[%g4+%g2], %o1
				call	CHEAPESTPRICE.6083, 0
				 ldsw	[%g4+%g1], %o0
		.LVL98:
				ba,pt	%xcc, .L58
				 cmp	%i4, 0
		.L35:
		.LBB237:
		.LBB226:
		.LBB201:
   61         cheapest price( start, destination, stops, 0 )
				add	%g1, 1, %g3
		.LVL88:
   62         %if (min cost = max cost) %start
				lduw	[%i4+12], %o1
				cmp	%o1, %i5
				be,pn	%icc, .L53
				 mov	0, %o2
		.L40:
		.LVL99:
		.LBB212:
		.LBB213:
		.LBB214:
		.LBB215:
		.LBB216:
				sra	%o1, 0, %o1
				call	_imp_itos, 0
				 add	%fp, 1783, %o0
		.LVL100:
		.LBE216:
		.LBE215:
		.LBE214:
   63             print string( "No route found for #hops, start, end points and the given flights data")
				mov	256, %o2
				sethi	%hi(.LC10), %o1
				or	%o1, %lo(.LC10), %o1
				call	memcpy, 0
				 add	%fp, 1783, %o0
		.LVL138:
				sethi	%hi(7168), %i5
				xor	%i5, -264, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1783, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL139:
				mov	256, %o2
				mov	%i5, %o1
				call	memcpy, 0
				 add	%fp, 1271, %o0
		.LVL140:
		.LBE227:
		.LBB228:
		.LBB229:
				sethi	%hi(15360), %i5
				xor	%i5, -48, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1271, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL141:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL142:
				ba,pt	%xcc, .L41
				 nop
		.LBE229:
		.LBE228:
		.LBE238:
		.LFE185:
				.section	".rodata"
				.align 8
		__PRETTY_FUNCTION__.5660:
				.asciz	"_imp_SELECTOUTPUT"
				.align 8
		__PRETTY_FUNCTION__.5656:
				.asciz	"_imp_SELECTINPUT"
				.section	".text"
		.Letext0:
   64         %finish %else %start
   65             print string( "Minimum cost: ".itos(min cost,0))
   66         %finish
   67         newline
				sethi	%hi(6144), %o1
				xor	%o1, -520, %o2
				xor	%o1, -776, %o1
				add	%fp, 2047, %g1
				add	%g1, %o2, %o2
				add	%g1, %o1, %o1
				call	_imp_join, 0
				 add	%fp, 1527, %o0
		.LVL101:
				mov	256, %o2
				sethi	%hi(7168), %o1
				xor	%o1, -8, %o1
				add	%fp, 2047, %g1
				add	%g1, %o1, %o1
				call	memcpy, 0
				 add	%fp, 1527, %o0
		.LVL102:
		.LBE213:
		.LBE212:
		.LBB217:
		.LBB218:
				sethi	%hi(15360), %i5
				xor	%i5, -48, %i5
				add	%fp, 2047, %g1
				add	%g1, %i5, %i5
				mov	256, %o2
				add	%fp, 1527, %o1
				call	memcpy, 0
				 mov	%i5, %o0
		.LVL103:
				call	_imp_printstring, 0
				 mov	%i5, %o0
		.LVL104:
		.L41:
		.LBE218:
		.LBE217:
		.LBB219:
		.LBB220:
				call	_imp_newline, 0
				 nop
		.LVL105:
		.LDL2:
		.LBE220:
		.LBE219:
		.LBE119:
		.LBB230:
		.LBB231:
				call	exit, 0
				 mov	0, %o0
		.LVL106:
		.L50:
		.LBE231:
		.LBE230:
		.LBB232:
		.LBB221:
   68
   69     %end
   70
   71 %end
   72 %endoffile
   63 Statements compiled
