         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
				NO_APP
		.Ltext0:
				.section	.rodata.str1.1,"aMS",@progbits,1
		.LC12:
		 		.string	"Illegal cycle I = 1, 1, N"
				.section	.rodata
		.LC0:
		 		.byte	25
		 		.string	"test-new/shortestpath.imp"
		 		.zero	229
				.align	2
		CHEAPESTPRICE.6013:
		.LFB187:
		.LVL22:
		 		link.w %fp,#-14880
		 		movem.l #16188,-(%sp)
		 		lea (8,%fp),%a0
		.LVL23:
		 		move.l %a0,-4(%fp)
    2     %integer n
		 		move.l 12(%fp),-(%sp)
		 		move.l 8(%fp),-(%sp)
		 		jsr _imp_initialise
		.LVL24:
		.LBB116:
		.LBB117:
		 		moveq #1,%d0
		 		move.l %d0,_imp_InStream
		 		move.l _imp_infile+280,_imp_InFile
		 		pea __PRETTY_FUNCTION__.5586
		 		jsr check_instream
		.LVL25:
		.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)
		 		pea -12(%fp)
		 		jsr _imp_readint
		.LVL26:
		.LBB118:
   12
   13     %begin
   14         %record(flightfm) %array flights(1:n)
		 		move.l -12(%fp),%d3
		.LVL27:
		 		move.l %d3,%d0
		 		add.l %d0,%d0
		 		add.l %d3,%d0
		 		lsl.l #2,%d0
		 		addq.l #4,%d0
		 		lea (16,%sp),%sp
		 		sub.l %d0,%sp
		 		move.l %sp,-16(%fp)
		.LVL28:
		 		move.l %d3,%d0
		 		subq.l #1,%d0
		.LVL29:
		.LBB119:
   15         %integer i,start,destination,stops, min cost, max cost
   16
   17         %routine cheapest price( %integer src, dst, stops, cost so far )
		.LVL0:
		 		link.w %fp,#-768
		 		movem.l #16176,-(%sp)
		 		move.l 8(%fp),%d2
		 		move.l %a0,%a2
   18             %integer i
   19
   20             %if (src = dst) %start
		 		cmp.l 12(%fp),%d2
		 		jeq .L14
		.L2:
   21                 min cost = min(min cost, cost so far)
		 		move.l 8(%a0),%d0
		 		cmp.l 20(%fp),%d0
		 		jle .L3
		 		move.l 20(%fp),%d0
		.L3:
		 		move.l %d0,8(%a2)
   22             %finish %else %if (stops >= 0) %start
		 		jra .L1
		.LVL7:
		.L15:
		.LBB115:
   23
   24                 %for i = 1,1,n %cycle
		 		tst.l 16(%fp)
		 		jlt .L1
		.LBB112:
   25                     %if (flights(i)_from = src) %start
		 		move.l 4(%a0),%d3
		.LVL1:
		.LBB113:
		 		move.l (%a2),%a0
		 		move.l %d1,%d0
		 		add.l %d0,%d0
		 		add.l %d1,%d0
		 		lsl.l #2,%d0
		 		cmp.l (%a0,%d0.l),%d2
		 		jeq .L16
		.L10:
		 		move.l %d5,%d1
   26                         cheapest price( flights(i)_to, dst, stops - 1, cost so far + flights(i)_cost )
		 		move.l %d3,%d0
		 		subq.l #1,%d0
		.LVL2:
		.LBE113:
		 		jmi .L15
		.LVL3:
		.L5:
		 		move.l 16(%fp),%d4
		 		subq.l #1,%d4
		 		lea CHEAPESTPRICE.6013,%a3
		.LVL4:
		.L9:
		 		pea .LC12
		 		lea (-512,%fp),%a1
		 		jsr _imp_c2istr
		.LVL8:
		 		move.l _imp_current_line,%d4
		 		addq.l #4,%sp
		 		jne .L6
		 		moveq #26,%d4
		.L6:
		 		move.l _imp_current_file,%d0
		 		jeq .L7
		 		move.l %d0,-(%sp)
		 		lea (-256,%fp),%a1
		 		jsr _imp_c2istr
		.LVL9:
		 		addq.l #4,%sp
		.L8:
		 		clr.l -(%sp)
		 		pea 1.w
		 		pea 5.w
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l #256,%d5
		 		move.l %d5,-(%sp)
		 		pea -512(%fp)
		 		move.l %d0,-(%sp)
		 		lea memcpy,%a3
		 		jsr (%a3)
		.LVL10:
		 		lea (12,%sp),%sp
		 		move.l %d4,-(%sp)
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d5,-(%sp)
		 		pea -256(%fp)
		 		move.l %d0,-(%sp)
		 		jsr (%a3)
		.LVL11:
		 		lea (12,%sp),%sp
		 		jsr _signal_event
		.LVL12:
		 		lea (528,%sp),%sp
		 		jra .L5
		.L7:
		.LBB114:
		 		move.l %fp,%d5
		.LVL13:
		 		add.l #-256,%d5
		.LVL14:
		 		move.l #256,%d6
		 		move.l %d6,-(%sp)
		 		pea .LC0
		 		move.l %d5,-(%sp)
		 		lea memcpy,%a3
		 		jsr (%a3)
		.LVL15:
		 		move.l %fp,%d7
		.LVL16:
		 		add.l #-768,%d7
		.LVL17:
		 		move.l %d6,-(%sp)
		 		move.l %d5,-(%sp)
		 		move.l %d7,-(%sp)
		 		jsr (%a3)
		.LVL18:
		.LBE114:
		 		move.l %d6,-(%sp)
		 		move.l %d7,-(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a3)
		.LVL19:
		 		lea (36,%sp),%sp
		 		jra .L8
		.LVL20:
		.L16:
		 		move.l %d1,%d0
		 		add.l %d0,%d0
		 		move.l %d0,%d6
		 		add.l %d1,%d6
		 		lsl.l #2,%d6
		 		move.l 20(%fp),%d7
		 		add.l 8(%a0,%d6.l),%d7
		 		move.l %d7,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l 12(%fp),-(%sp)
		 		move.l 4(%a0,%d6.l),-(%sp)
		 		move.l %a2,%a0
		 		jsr (%a3)
		.LVL21:
		 		lea (16,%sp),%sp
		 		jra .L10
		.LBE115:
		.LFE187:
				.section	.rodata
		.LC10:
		 		.byte	70
		 		.string	"No route found for #hops, start, end points and the given flights data"
		 		.zero	184
				.align	2
				.globl	main
		main:
		.LFB185:
   27                     %finish
   28                 %repeat
   29
		 		tst.l %d3
		 		jeq .L1
		 		clr.l %d1
		 		cmp.l %d3,%d5
		 		jne .L9
		.L4:
		.L11:
		.L12:
		.LVL6:
		.L1:
		.LBE112:
   30             %finish
		 		move.l %d1,%d5
		 		addq.l #1,%d5
		.LVL5:
   31
   32         %end
   33
		 		movem.l -800(%fp),#3324
		 		unlk %fp
		 		rts
		.L14:
   34         %for i=1,1,n %cycle
   35             read(flights(i)_from)
		 		lea _imp_readint,%a3
		.LVL31:
		.L23:
		 		move.l -16(%fp),%d0
		 		add.l %a2,%d0
		 		move.l %d0,-(%sp)
		 		jsr (%a3)
		.LVL33:
   36             read(flights(i)_to)
		 		jmi .L45
		.LVL30:
		.L18:
		 		move.l %a2,%d0
		 		addq.l #4,%d0
		 		add.l -16(%fp),%d0
		 		move.l %d0,-(%sp)
		 		jsr (%a3)
		.LVL34:
		 		pea .LC12
		 		lea (-6416,%fp),%a1
		 		jsr _imp_c2istr
		.LVL131:
		 		move.l _imp_current_line,%d2
		 		addq.l #4,%sp
		 		jne .L19
		 		moveq #36,%d2
		.L19:
		 		move.l _imp_current_file,%d0
		 		jeq .L20
		 		move.l %d0,-(%sp)
		 		lea (-6160,%fp),%a1
		 		jsr _imp_c2istr
			.LVL132:
		 		addq.l #4,%sp
			.L21:
				.loc 1 36 0 discriminator 9
		 		clr.l -(%sp)
		 		pea 1.w
		 		pea 5.w
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l #256,%d4
		 		move.l %d4,-(%sp)
		 		pea -6416(%fp)
		 		move.l %d0,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL133:
		 		lea (12,%sp),%sp
		 		move.l %d2,-(%sp)
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d4,-(%sp)
		 		pea -6160(%fp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
			.LVL134:
		 		lea (12,%sp),%sp
		 		jsr _signal_event
			.LVL135:
		 		lea (528,%sp),%sp
		 		jra .L18
			.L20:
			.LBB120:
				.loc 1 36 0 discriminator 7
		 		move.l %fp,%d6
			.LVL136:
		 		add.l #-272,%d6
			.LVL137:
		 		move.l #256,%d4
		 		move.l %d4,-(%sp)
		 		pea .LC0
		 		move.l %d6,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL138:
		 		move.l %fp,%d5
			.LVL139:
		 		add.l #-14864,%d5
			.LVL140:
		 		move.l %d4,-(%sp)
		 		move.l %d6,-(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a2)
			.LVL141:
			.LBE120:
		 		move.l %d4,-(%sp)
		 		move.l %d5,-(%sp)
		 		pea -6160(%fp)
		 		jsr (%a2)
			.LVL142:
		 		lea (36,%sp),%sp
		 		jra .L21
			.LVL143:
			.L46:
			.LBE215:
			.LBB216:
   37             read(flights(i)_cost)
		 		move.l %a2,%d0
		 		addq.l #8,%d0
		 		add.l -16(%fp),%d0
		 		move.l %d0,-(%sp)
		 		jsr (%a3)
		.LVL35:
		 		lea (12,%a2),%a2
   38         %repeat
   39         read(start)
		 		tst.l %d3
		 		jeq .L22
		 		sub.l %a2,%a2
		 		clr.l %d2
		 		lea (12,%sp),%sp
		 		cmp.l %d2,%d3
		 		jne .L23
		.LVL36:
		.L22:
		.LBE119:
		 		pea -14876(%fp)
		 		lea _imp_readint,%a2
		 		jsr (%a2)
		.LVL37:
		 		pea -14872(%fp)
		 		jsr (%a2)
		.LVL38:
   40         read(destination)
		 		addq.l #1,%d2
		.LVL32:
   41         read(stops)
		 		pea -14868(%fp)
		 		jsr (%a2)
		.LVL39:
		.LBB121:
		.LBB122:
		 		clr.l _imp_OutStream
		 		move.l _imp_outfile+4,_imp_OutFile
		 		pea __PRETTY_FUNCTION__.5590
		 		jsr check_outstream
		.LVL40:
		.LBE122:
		.LBE121:
		.LBB123:
   42
   43         select output(0)
   44         %for i=1,1,n %cycle
   45             print string("Flight(".itos(i,0)."): ");
		 		move.l -12(%fp),-14880(%fp)
		.LVL41:
		.LBB124:
   46             print string(" From: ".itos(flights(i)_from,0))
		 		move.l -14880(%fp),%d0
		 		subq.l #1,%d0
		.LVL42:
		.LBE124:
		 		lea (16,%sp),%sp
		 		jmi .L46
		.LVL43:
		.L24:
				.loc 1 46 0 is_stmt 1 discriminator 1
		 		pea .LC12
		 		lea (-5904,%fp),%a1
		 		jsr _imp_c2istr
			.LVL144:
		 		move.l _imp_current_line,%d2
		 		addq.l #4,%sp
		 		jne .L25
				.loc 1 46 0 is_stmt 0
		 		moveq #46,%d2
			.L25:
				.loc 1 46 0 discriminator 5
		 		move.l _imp_current_file,%d0
		 		jeq .L26
				.loc 1 46 0 discriminator 6
		 		move.l %d0,-(%sp)
		 		lea (-5648,%fp),%a1
		 		jsr _imp_c2istr
			.LVL145:
		 		addq.l #4,%sp
			.LVL146:
			.L27:
				.loc 1 46 0 discriminator 9
		 		clr.l -(%sp)
		 		pea 1.w
		 		pea 5.w
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea -5904(%fp)
		 		move.l %d0,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL147:
		 		lea (12,%sp),%sp
		 		move.l %d2,-(%sp)
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		pea -5648(%fp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
			.LVL148:
		 		lea (12,%sp),%sp
		 		jsr _signal_event
			.LVL149:
		 		lea (528,%sp),%sp
		 		jra .L24
			.LVL150:
			.L26:
			.LBB165:
				.loc 1 46 0 discriminator 7
		 		move.l %fp,%d5
			.LVL151:
		 		add.l #-272,%d5
			.LVL152:
		 		move.l #256,%d3
			.LVL153:
		 		move.l %d3,-(%sp)
		 		pea .LC0
		 		move.l %d5,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL154:
		 		move.l %fp,%d4
			.LVL155:
		 		add.l #-14608,%d4
			.LVL156:
		 		move.l %d3,-(%sp)
		 		move.l %d5,-(%sp)
		 		move.l %d4,-(%sp)
		 		jsr (%a2)
			.LVL157:
			.LBE165:
		 		move.l %d3,-(%sp)
		 		move.l %d4,-(%sp)
		 		pea -5648(%fp)
		 		jsr (%a2)
			.LVL158:
		 		lea (36,%sp),%sp
		 		jra .L27
			.LVL159:
			.L47:
			.LBE216:
			.LBB217:
   47             print string("   To: ".itos(flights(i)_to,0))
		 		move.l %fp,%d7
		.LVL44:
		 		add.l #-14096,%d7
		.LVL45:
		.L29:
		.LBE127:
		.LBE126:
		.LBE125:
		 		pea -13584(%fp)
		 		pea -13840(%fp)
		 		move.l %d7,%a1
		 		lea _imp_join,%a3
		 		jsr (%a3)
		.LVL48:
		.LBE131:
		 		pea -13328(%fp)
		 		move.l %d7,-(%sp)
		 		lea (-272,%fp),%a1
		 		jsr (%a3)
		.LVL49:
		 		move.l %fp,%d2
		.LVL50:
		 		add.l #-3344,%d2
		.LVL51:
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea -14352(%fp)
		 		move.l %d2,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL52:
		.LBE132:
		.LBE133:
		.LBB134:
		.LBB135:
		 		lea (-220,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d2,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL53:
		 		lea (12,%sp),%sp
		 		lea _imp_printstring,%a4
		 		jsr (%a4)
		.LVL54:
		.LBE135:
		.LBE134:
		.LBB136:
		.LBB137:
		.LBB138:
		.LBB139:
		.LBB140:
		 		add.l %d3,%sp
		 		clr.l -(%sp)
		.LVL55:
		.LBE140:
		.LBE139:
   48             print string(" Cost: ".itos(flights(i)_cost,0))
		 		move.l %d4,%d2
		.LVL56:
		 		add.l %d2,%d2
		 		move.l %d2,%d0
		 		add.l %d4,%d0
		 		lsl.l #2,%d0
		.LBB142:
		.LBB141:
		 		move.l -16(%fp),%a0
		 		move.l (%a0,%d0.l),-(%sp)
		 		lea (-3600,%fp),%a1
		 		jsr (%a5)
		.LVL57:
		.LBE141:
		.LBE142:
		.LBE138:
		 		pea -12560(%fp)
		 		pea -12816(%fp)
		 		lea (-272,%fp),%a1
		 		jsr (%a3)
		.LVL58:
		 		move.l %fp,%d6
		.LVL59:
		 		add.l #-3856,%d6
		.LVL60:
		 		move.l %d3,-(%sp)
		 		pea -13072(%fp)
		 		move.l %d6,-(%sp)
		 		jsr (%a2)
		.LVL61:
		.LBE137:
		.LBE136:
		.LBB143:
		.LBB144:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d6,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL62:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL63:
		.LBE144:
		.LBE143:
		.LBB145:
		.LBB146:
		.LBB147:
		.LBB148:
		.LBB149:
		 		lea (284,%sp),%sp
		 		clr.l -(%sp)
		.LVL64:
		.LBE149:
		.LBE148:
   49             newline
		 		tst.l -14880(%fp)
		 		jeq .L28
		 		clr.l %d4
		.LBB125:
		.LBB126:
		.LBB127:
		 		move.l %d2,%d0
		 		add.l %d4,%d0
		 		lsl.l #2,%d0
		 		move.l -16(%fp),%a0
		 		add.l %d0,%a0
		.LBB151:
		.LBB150:
		 		move.l 4(%a0),-(%sp)
		 		lea (-4112,%fp),%a1
		 		jsr (%a5)
		.LVL65:
		.LBE150:
		.LBE151:
		.LBE147:
		 		pea -11792(%fp)
		 		pea -12048(%fp)
		 		lea (-272,%fp),%a1
		 		jsr (%a3)
		.LVL66:
		 		add.l #-512,%d6
		.LVL67:
		 		move.l %d3,-(%sp)
		 		pea -12304(%fp)
		 		move.l %d6,-(%sp)
		 		jsr (%a2)
		.LVL68:
		.LBE146:
		.LBE145:
		.LBB152:
		.LBB153:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d6,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL69:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL70:
		.LBE153:
		.LBE152:
		.LBB154:
		.LBB155:
		.LBB156:
		.LBB157:
		.LBB158:
		 		lea (284,%sp),%sp
		 		clr.l -(%sp)
		.LVL71:
		.LBE158:
		.LBE157:
		 		add.l %d4,%d2
		 		lsl.l #2,%d2
		 		move.l -16(%fp),%a0
		 		add.l %d2,%a0
		.LBB160:
		.LBB159:
		 		move.l 8(%a0),-(%sp)
		 		lea (-4624,%fp),%a1
		 		jsr (%a5)
		.LVL72:
		.LBE159:
		.LBE160:
		.LBE156:
		 		pea -11024(%fp)
		 		pea -11280(%fp)
		 		lea (-272,%fp),%a1
		 		jsr (%a3)
		.LVL73:
		 		move.l %fp,%d2
		.LVL74:
		 		add.l #-4880,%d2
		.LVL75:
		 		move.l %d3,-(%sp)
		 		pea -11536(%fp)
		 		move.l %d2,-(%sp)
		 		jsr (%a2)
		.LVL76:
		.LBE155:
		.LBE154:
		.LBB161:
		.LBB162:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d2,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL77:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL78:
		.LBE162:
		.LBE161:
		.LBB163:
		.LBB164:
		 		lea (284,%sp),%sp
		 		jsr _imp_newline
		.LVL79:
		.LBE164:
		.LBE163:
		 		move.l %d5,%d4
		 		cmp.l -14880(%fp),%d5
		 		jne .L29
		.LVL80:
		.L28:
		.LBE123:
		.LBB166:
		.LBB167:
		.LBB168:
		.LBB169:
		.LBB170:
		 		clr.l -(%sp)
		 		move.l -14876(%fp),-(%sp)
		 		lea (-1552,%fp),%a1
		 		move.l #_imp_itos,%d3
		 		move.l %d3,%a0
		 		jsr (%a0)
		.LVL81:
		.LBE170:
		.LBE169:
		.LBE168:
   50         %repeat
		 		move.l %d4,%d5
		 		addq.l #1,%d5
		.LVL46:
		.LBB133:
		.LBB132:
		.LBB131:
		.LBB128:
		.LBB129:
		.LBB130:
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		lea (-3088,%fp),%a1
		 		lea _imp_itos,%a5
		 		jsr (%a5)
		.LVL47:
		.LBE130:
		.LBE129:
		.LBE128:
   51         printstring("      Start: ".itos(start,0)); newline
   52         printstring("Destination: ".itos(destination,0)); newline
   53         printstring("      Stops: ".itos(stops,0)); newline
		 		pea -10256(%fp)
		 		pea -10512(%fp)
		 		lea (-272,%fp),%a1
		 		lea _imp_join,%a5
		 		jsr (%a5)
		.LVL82:
		 		move.l %fp,%d4
		.LVL83:
		 		add.l #-1808,%d4
		.LVL84:
		 		move.l #256,%d2
		 		move.l %d2,-(%sp)
		 		pea -10768(%fp)
		 		move.l %d4,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL85:
		.LBE167:
		.LBE166:
		.LBB171:
		.LBB172:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL86:
		 		lea (12,%sp),%sp
		 		lea _imp_printstring,%a4
		 		jsr (%a4)
		.LVL87:
		.LBE172:
		.LBE171:
		.LBB173:
		.LBB174:
		 		lea (284,%sp),%sp
		 		lea _imp_newline,%a3
		 		jsr (%a3)
		.LVL88:
		.LBE174:
		.LBE173:
		.LBB175:
		.LBB176:
		.LBB177:
		.LBB178:
		.LBB179:
		 		clr.l -(%sp)
		 		move.l -14872(%fp),-(%sp)
		 		lea (-2064,%fp),%a1
		 		move.l %d3,%a0
		 		jsr (%a0)
		.LVL89:
		.LBE179:
		.LBE178:
		.LBE177:
   54         max cost = 0
		 		pea -9488(%fp)
		 		pea -9744(%fp)
		 		lea (-272,%fp),%a1
		 		jsr (%a5)
		.LVL90:
		 		add.l #-512,%d4
		.LVL91:
		 		move.l %d2,-(%sp)
		 		pea -10000(%fp)
		 		move.l %d4,-(%sp)
		 		jsr (%a2)
		.LVL92:
		.LBE176:
		.LBE175:
		.LBB180:
		.LBB181:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL93:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL94:
		.LBE181:
		.LBE180:
		.LBB182:
		.LBB183:
		 		lea (284,%sp),%sp
		 		jsr (%a3)
		.LVL95:
		.LBE183:
		.LBE182:
		.LBB184:
		.LBB185:
		.LBB186:
		.LBB187:
		.LBB188:
		 		clr.l -(%sp)
		 		move.l -14868(%fp),-(%sp)
		 		lea (-2576,%fp),%a1
		 		move.l %d3,%a0
		 		jsr (%a0)
		.LVL96:
		.LBE188:
		.LBE187:
		.LBE186:
		 		clr.l %d2
		.LVL107:
		.L35:
		.LBB196:
				.loc 1 54 0 is_stmt 1
		 		move.l %d3,%d2
		 		jra .L34
			.LVL174:
			.L48:
			.LBB218:
   55         %for i = 1,1,n %cycle
		 		pea -8720(%fp)
		 		pea -8976(%fp)
		 		lea (-272,%fp),%a1
		 		jsr (%a5)
		.LVL97:
		 		move.l %fp,%d3
		.LVL98:
		 		add.l #-2832,%d3
		.LVL99:
		 		move.l %d2,-(%sp)
		 		pea -9232(%fp)
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
		.LVL100:
		.LBE185:
		.LBE184:
		.LBB189:
		.LBB190:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL101:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL102:
		.LBE190:
		.LBE189:
		.LBB191:
		.LBB192:
		 		lea (284,%sp),%sp
		 		jsr (%a3)
		.LVL103:
		.LBE192:
		.LBE191:
		.LBB193:
   56             max cost = max cost + flights(i)_cost
		 		move.l -12(%fp),%d3
		.LVL104:
		.LBB194:
		 		add.l (%a0),%d2
		.LVL109:
		.LDL1:
		 		lea (12,%a0),%a0
   57         %repeat
		 		move.l %d3,%d0
		 		subq.l #1,%d0
		.LVL105:
		.LBE194:
		 		jmi .L47
		.LVL106:
		.L30:
				.loc 1 57 0 is_stmt 1 discriminator 1
		 		pea .LC12
		 		lea (-5392,%fp),%a1
		 		jsr _imp_c2istr
			.LVL160:
		 		move.l _imp_current_line,%d2
		 		addq.l #4,%sp
		 		jne .L31
				.loc 1 57 0 is_stmt 0
		 		moveq #57,%d2
			.L31:
				.loc 1 57 0 discriminator 5
		 		move.l _imp_current_file,%d0
		 		jeq .L32
				.loc 1 57 0 discriminator 6
		 		move.l %d0,-(%sp)
		 		lea (-5136,%fp),%a1
		 		jsr _imp_c2istr
			.LVL161:
		 		addq.l #4,%sp
			.LVL162:
			.L33:
				.loc 1 57 0 discriminator 9
		 		clr.l -(%sp)
		 		pea 1.w
		 		pea 5.w
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l #256,%d4
		 		move.l %d4,-(%sp)
		 		pea -5392(%fp)
		 		move.l %d0,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL163:
		 		lea (12,%sp),%sp
		 		move.l %d2,-(%sp)
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d4,-(%sp)
		 		pea -5136(%fp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
			.LVL164:
		 		lea (12,%sp),%sp
		 		jsr _signal_event
			.LVL165:
		 		lea (528,%sp),%sp
		 		jra .L30
			.L32:
			.LBB195:
				.loc 1 57 0 discriminator 7
		 		move.l %fp,%d6
			.LVL166:
		 		add.l #-272,%d6
			.LVL167:
		 		move.l #256,%d4
		 		move.l %d4,-(%sp)
		 		pea .LC0
		 		move.l %d6,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
			.LVL168:
		 		move.l %fp,%d5
			.LVL169:
		 		add.l #-8464,%d5
			.LVL170:
		 		move.l %d4,-(%sp)
		 		move.l %d6,-(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a2)
			.LVL171:
			.LBE195:
		 		move.l %d4,-(%sp)
		 		move.l %d5,-(%sp)
		 		pea -5136(%fp)
		 		jsr (%a2)
			.LVL172:
		 		lea (36,%sp),%sp
		 		jra .L33
			.LVL173:
			.L41:
			.LBE217:
   58         print string( "Greatest cost: ".itos(max cost,0));newline
		 		clr.l %d0
		.LBE193:
   59
   60         min cost = max cost
		 		tst.l %d3
		 		jeq .L41
		 		move.l -16(%fp),%a0
		 		addq.l #8,%a0
		 		cmp.l %d3,%d0
		 		jne .L35
		.LVL110:
		.L34:
		.LBE196:
		.LBB197:
		.LBB198:
		.LBB199:
		.LBB200:
		.LBB201:
		 		clr.l -(%sp)
		 		move.l %d2,-(%sp)
		 		lea (-1040,%fp),%a1
		 		jsr _imp_itos
		.LVL111:
		.LBE201:
		.LBE200:
		.LBE199:
		 		pea -7696(%fp)
		 		pea -7952(%fp)
		 		lea (-272,%fp),%a1
		 		jsr _imp_join
		.LVL112:
		 		move.l %fp,%d3
		.LVL113:
		 		add.l #-1296,%d3
		.LVL114:
		 		move.l #256,%d4
		 		move.l %d4,-(%sp)
		 		pea -8208(%fp)
		 		move.l %d3,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL115:
		.LBE198:
		.LBE197:
		.LBB202:
		.LBB203:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d4,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL116:
		 		lea (12,%sp),%sp
		 		jsr _imp_printstring
		.LVL117:
		.LBE203:
		.LBE202:
		.LBB204:
		.LBB205:
		 		lea (284,%sp),%sp
		 		jsr _imp_newline
		.LVL118:
		.LBE205:
		.LBE204:
		 		move.l %d2,-8(%fp)
		 		clr.l -(%sp)
		 		move.l -14868(%fp),-(%sp)
		 		move.l -14872(%fp),-(%sp)
		 		move.l -14876(%fp),-(%sp)
		 		lea (-16,%fp),%a0
		 		jsr CHEAPESTPRICE.6013
		.LVL119:
   61         cheapest price( start, destination, stops, 0 )
		 		addq.l #1,%d0
		.LVL108:
   62         %if (min cost = max cost) %start
		 		move.l -8(%fp),%d0
		 		lea (16,%sp),%sp
		 		cmp.l %d0,%d2
		 		jeq .L48
		.L36:
		.LVL120:
		.LBB206:
		.LBB207:
		.LBB208:
		.LBB209:
		.LBB210:
		 		clr.l -(%sp)
		 		move.l %d0,-(%sp)
		 		lea (-272,%fp),%a1
		 		jsr _imp_itos
		.LVL121:
		.LBE210:
		.LBE209:
		.LBE208:
   63             print string( "No route found for #hops, start, end points and the given flights data")
				.loc 1 63 0
		 		add.l #1024,%d3
		 		move.l %d4,%d2
		 		move.l %d4,-(%sp)
		 		pea .LC10
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
			.LVL175:
		 		move.l %fp,%d4
			.LVL176:
		 		add.l #-7440,%d4
			.LVL177:
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d4,-(%sp)
		 		jsr (%a2)
			.LVL178:
		 		add.l #-512,%d3
		 		move.l %d2,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
			.LVL179:
			.LBE218:
			.LBB219:
			.LBB220:
				.loc 2 589 0
		 		lea (-220,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
			.LVL180:
		 		lea (12,%sp),%sp
		 		jsr _imp_printstring
			.LVL181:
		 		add.l %d2,%sp
		 		jra .L37
			.LBE220:
			.LBE219:
			.LBE223:
				.cfi_endproc
			.LFE185:
				.section	.rodata
			__PRETTY_FUNCTION__.5590:
		 		.string	"_imp_SELECTOUTPUT"
			__PRETTY_FUNCTION__.5586:
		 		.string	"_imp_SELECTINPUT"
				.text
			.Letext0:
				.file 3 "/home/gtoal/src/i2c/perms/imptypes.h"
				.file 4 "/usr/m68k-linux-gnu/include/bits/types.h"
				.file 5 "/usr/m68k-linux-gnu/include/bits/types/sig_atomic_t.h"
				.file 6 "/usr/m68k-linux-gnu/include/bits/types/__sigset_t.h"
				.file 7 "/usr/m68k-linux-gnu/include/bits/setjmp.h"
				.file 8 "/usr/m68k-linux-gnu/include/setjmp.h"
				.file 9 "/home/gtoal/src/i2c/perms/psignal.h"
				.file 10 "/home/gtoal/src/i2c/perms/externalfile.h"
				.file 11 "/home/gtoal/src/i2c/perms/internal/internal.h"
				.file 12 "/home/gtoal/src/i2c/perms/impread.h"
				.file 13 "<built-in>"
   64         %finish %else %start
   65             print string( "Minimum cost: ".itos(min cost,0))
   66         %finish
   67         newline
		 		pea -6672(%fp)
		 		pea -6928(%fp)
		 		move.l %fp,%d2
		.LVL122:
		 		add.l #-528,%d2
		.LVL123:
		 		move.l %d2,%a1
		 		jsr _imp_join
		.LVL124:
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea -7184(%fp)
		 		move.l %d2,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL125:
		.LBE207:
		.LBE206:
		.LBB211:
		.LBB212:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d2,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL126:
		 		lea (12,%sp),%sp
		 		jsr _imp_printstring
		.LVL127:
		 		lea (284,%sp),%sp
		.LVL128:
		.L37:
		.LBE212:
		.LBE211:
		.LBB213:
		.LBB214:
		 		jsr _imp_newline
		.LVL129:
		.LDL2:
		.LBE214:
		.LBE213:
		.LBE118:
		.LBB221:
		.LBB222:
		 		clr.l -(%sp)
		 		jsr exit
		.LVL130:
		.L45:
		.LBE222:
		.LBE221:
		.LBB223:
		.LBB215:
   68
   69     %end
   70
   71 %end
   72 %endoffile
   63 Statements compiled
