         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	1
				.thumb
				.thumb_func
		CHEAPESTPRICE.10052:
		.LFB187:
				@ args = 0, pretend = 0, frame = 14896
				@ frame_needed = 1, uses_anonymous_args = 0
		.LVL26:
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				sub	sp, sp, #15360
				sub	sp, sp, #52
				add	r7, sp, #512
				ldr	r9, .L56
		.LPIC11:
				add	r9, pc
				ldr	r3, .L56+4
				ldr	r3, [r9, r3]
				ldr	r3, [r3]
				add	r2, r7, #14848
				adds	r2, r2, #44
				str	r3, [r2]
				add	r3, r7, #14912
				adds	r3, r3, #24
				str	r3, [r7, #40]
    2     %integer n
				bl	_imp_initialise(PLT)
		.LVL27:
		.LBB115:
		.LBB116:
				ldr	r3, .L56+8
				ldr	r3, [r9, r3]
				movs	r2, #1
				str	r2, [r3]
				ldr	r3, .L56+12
				ldr	r3, [r9, r3]
				ldr	r2, .L56+16
				ldr	r2, [r9, r2]
				ldr	r2, [r2, #280]
				str	r2, [r3]
				ldr	r0, .L56+20
		.LPIC12:
				add	r0, pc
				add	r0, r0, #256
				bl	check_instream(PLT)
		.LVL28:
		.LBE116:
		.LBE115:
    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	r0, r7, #32
				bl	_imp_readint(PLT)
		.LVL29:
		.LBB117:
   12
   13     %begin
   14         %record(flightfm) %array flights(1:n)
				ldr	r8, [r7, #32]
		.LVL30:
				movs	r3, #12
				mul	r3, r3, r8
				adds	r3, r3, #10
				bic	r3, r3, #7
				sub	sp, sp, r3
				add	r3, sp, #512
				str	r3, [r7, #28]
		.LVL31:
		.LBB118:
   15         %integer i,start,destination,stops, min cost, max cost
   16
   17         %routine cheapest price( %integer src, dst, stops, cost so far )
				@ Nested: function declared inside another function.
				@ args = 0, pretend = 0, frame = 784
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
				subw	sp, sp, #1300
				mov	fp, r3
				mov	r6, ip
				ldr	r4, .L20
		.LPIC0:
				add	r4, pc
				ldr	r3, .L20+4
		.LVL1:
				ldr	r3, [r4, r3]
				ldr	r3, [r3]
				str	r3, [sp, #1292]
   18             %integer i
   19
   20             %if (src = dst) %start
				cmp	r0, r1
				beq	.L16
		.L2:
				mov	r7, r0
				mov	r9, r1
				mov	r5, r2
   21                 min cost = min(min cost, cost so far)
				ldr	r3, [ip, #8]
				cmp	r3, fp
				it	ge
				movge	r3, fp
				str	r3, [ip, #8]
   22             %finish %else %if (stops >= 0) %start
				b	.L1
		.LVL8:
		.L17:
		.LBB114:
   23
   24                 %for i = 1,1,n %cycle
				cmp	r2, #0
				blt	.L1
		.LBB112:
   25                     %if (flights(i)_from = src) %start
				ldr	r8, [ip, #4]
		.LVL2:
				ldr	r2, [r6]
				mul	r1, r10, r3
				adds	r0, r2, r1
				ldr	r1, [r2, r1]
				cmp	r1, r7
				beq	.L18
		.L9:
				mov	r3, r5
   26                         cheapest price( flights(i)_to, dst, stops - 1, cost so far + flights(i)_cost )
				cmp	r8, #1
				bmi	.L17
		.LVL3:
		.L4:
				subs	r2, r5, #1
				str	r2, [sp, #516]
		.LVL4:
		.L8:
				ldr	r3, .L20+8
				ldr	r3, [r4, r3]
				ldr	r1, [r3]
		.LVL9:
				cbz	r1, .L5
				add	r0, sp, #780
		.LVL10:
				bl	_imp_c2istr(PLT)
		.LVL11:
		.L6:
				ldr	r3, .L20+12
				ldr	r3, [r4, r3]
				ldr	r10, [r3]
				cmp	r10, #0
				it	eq
				moveq	r10, #26
				ldr	r1, .L20+16
		.LPIC2:
				add	r1, pc
				addw	r3, sp, #1036
				str	r3, [sp, #516]
				mov	r0, r3
				bl	_imp_c2istr(PLT)
		.LVL12:
				movs	r3, #0
				str	r3, [sp, #508]
				movs	r3, #1
				str	r3, [sp, #504]
				movs	r3, #5
				str	r3, [sp, #500]
				mov	r2, #256
				ldr	r1, [sp, #516]
				add	r0, sp, #244
				bl	memcpy(PLT)
		.LVL13:
				str	r10, [sp, #240]
				movs	r2, #240
				add	r1, sp, #796
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL14:
				add	r3, sp, #780
				ldm	r3, {r0, r1, r2, r3}
				bl	_signal_event(PLT)
		.LVL15:
				b	.L4
		.LVL16:
		.L5:
		.LBB113:
				mov	r10, #256
				mov	r2, r10
		.LVL17:
				ldr	r1, .L20+20
		.LPIC1:
				add	r1, pc
				addw	r3, sp, #1036
				str	r3, [sp, #516]
				mov	r0, r3
		.LVL18:
				bl	memcpy(PLT)
		.LVL19:
				mov	r2, r10
				ldr	r1, [sp, #516]
				add	r3, sp, #524
				str	r3, [sp, #516]
				mov	r0, r3
				bl	memcpy(PLT)
		.LVL20:
		.LBE113:
				mov	r2, r10
				ldr	r1, [sp, #516]
				add	r0, sp, #780
				bl	memcpy(PLT)
		.LVL21:
				b	.L6
		.LVL22:
		.L18:
				ldr	r3, [r0, #8]
				mov	ip, r6
				add	r3, r3, fp
				ldr	r2, [sp, #516]
				mov	r1, r9
				ldr	r0, [r0, #4]
				bl	CHEAPESTPRICE.10052(PLT)
		.LVL23:
				b	.L9
		.LVL24:
		.L19:
		.LBE114:
				bl	__stack_chk_fail(PLT)
		.LVL25:
		.L21:
				.align	2
		.L20:
				.word	_GLOBAL_OFFSET_TABLE_-(.LPIC0+4)
				.word	__stack_chk_guard(GOT)
				.word	_imp_current_file(GOT)
				.word	_imp_current_line(GOT)
				.word	.LC12-(.LPIC2+4)
				.word	.LANCHOR0-(.LPIC1+4)
		.LFE187:
				.align	1
				.global	main
				.thumb
				.thumb_func
		main:
		.LFB185:
   27                     %finish
   28                 %repeat
   29
				cmp	r8, #0
				beq	.L1
				movs	r3, #0
				mov	r10, #12
				cmp	r8, r5
				bne	.L8
		.L3:
		.L10:
		.L11:
		.LVL6:
		.L1:
		.LBE112:
   30             %finish
				adds	r5, r3, #1
		.LVL5:
   31
   32         %end
   33
				ldr	r3, .L20+4
				ldr	r3, [r4, r3]
				ldr	r2, [sp, #1292]
				ldr	r3, [r3]
				cmp	r2, r3
				bne	.L19
				addw	sp, sp, #1300
				@ sp needed
				pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
		.LVL7:
		.L16:
   34         %for i=1,1,n %cycle
   35             read(flights(i)_from)
				add	r5, r7, #48
		.LVL33:
		.L28:
				ldr	r0, [r5, #-20]
				add	r0, r0, r4
				bl	_imp_readint(PLT)
		.LVL35:
   36             read(flights(i)_to)
				cmp	r8, #1
				bmi	.L52
		.L23:
		.LVL32:
				adds	r3, r4, #4
				ldr	r0, [r5, #-20]
				add	r0, r0, r3
				bl	_imp_readint(PLT)
		.LVL36:
				ldr	r3, .L56+40
				ldr	r3, [r9, r3]
				ldr	r1, [r3]
				cbz	r1, .L24
				add	r0, r7, #8448
				adds	r0, r0, #44
				bl	_imp_c2istr(PLT)
		.LVL113:
		.L25:
				ldr	r3, .L56+44
				ldr	r3, [r9, r3]
				ldr	r5, [r3]
				cmp	r5, #0
				it	eq
				moveq	r5, #36
				ldr	r1, .L56+48
		.LPIC14:
				add	r1, pc
				add	r6, r7, #8704
				adds	r6, r6, #44
				mov	r0, r6
				bl	_imp_c2istr(PLT)
		.LVL114:
				add	r10, r7, #8448
				add	r10, r10, #48
				sub	r4, r10, #4
				movs	r3, #0
				str	r3, [sp, #508]
				movs	r3, #1
				str	r3, [sp, #504]
				movs	r3, #5
				str	r3, [sp, #500]
				mov	r2, #256
				mov	r1, r6
				add	r0, sp, #244
				bl	memcpy(PLT)
		.LVL115:
				str	r5, [sp, #240]
				movs	r2, #240
				add	r1, r10, #12
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL116:
				ldm	r4, {r0, r1, r2, r3}
				bl	_signal_event(PLT)
		.LVL117:
				b	.L23
		.L24:
		.LBB119:
				mov	r5, #256
				mov	r2, r5
				ldr	r1, .L56+52
		.LPIC13:
				add	r1, pc
				add	r4, r7, #14592
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL118:
				mov	r2, r5
				mov	r1, r4
				add	r4, r7, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL119:
		.LBE119:
				mov	r2, r5
				mov	r1, r4
				add	r0, r7, #8448
				adds	r0, r0, #44
				bl	memcpy(PLT)
		.LVL120:
				b	.L25
		.LVL121:
		.L53:
		.LBE207:
		.LBB208:
   37             read(flights(i)_cost)
				add	r3, r4, #8
				ldr	r0, [r5, #-20]
				add	r0, r0, r3
				bl	_imp_readint(PLT)
		.LVL37:
				adds	r4, r4, #12
   38         %repeat
   39         read(start)
				cmp	r8, #0
				beq	.L27
				movs	r4, #0
				mov	r6, r4
				cmp	r6, r8
				bne	.L28
		.LVL38:
		.L27:
		.LBE118:
				add	r0, r7, #16
				bl	_imp_readint(PLT)
		.LVL39:
				add	r0, r7, #20
				bl	_imp_readint(PLT)
		.LVL40:
   40         read(destination)
				adds	r6, r6, #1
		.LVL34:
   41         read(stops)
				add	r0, r7, #24
				bl	_imp_readint(PLT)
		.LVL41:
		.LBB120:
		.LBB121:
				ldr	r3, .L56+24
				ldr	r3, [r9, r3]
				movs	r2, #0
				str	r2, [r3]
				ldr	r3, .L56+28
				ldr	r3, [r9, r3]
				ldr	r2, .L56+32
				ldr	r2, [r9, r2]
				ldr	r2, [r2, #4]
				str	r2, [r3]
				ldr	r0, .L56+36
		.LPIC15:
				add	r0, pc
				add	r0, r0, #276
				bl	check_outstream(PLT)
		.LVL42:
		.LBE121:
		.LBE120:
		.LBB122:
   42
   43         select output(0)
   44         %for i=1,1,n %cycle
   45             print string("Flight(".itos(i,0)."): ");
				ldr	r6, [r7, #32]
		.LVL43:
   46             print string(" From: ".itos(flights(i)_from,0))
				cmp	r6, #1
				bmi	.L53
		.LVL44:
		.L29:
				ldr	r3, .L56+40
				ldr	r3, [r9, r3]
				ldr	r1, [r3]
				cbz	r1, .L30
				add	r0, r7, #8960
				adds	r0, r0, #44
				bl	_imp_c2istr(PLT)
		.LVL122:
		.L31:
				ldr	r3, .L56+44
				ldr	r3, [r9, r3]
				ldr	r5, [r3]
				cmp	r5, #0
				it	eq
				moveq	r5, #46
				ldr	r1, .L56+56
		.LPIC17:
				add	r1, pc
				add	r10, r7, #9216
				add	r10, r10, #44
				mov	r0, r10
				bl	_imp_c2istr(PLT)
		.LVL123:
				add	r8, r7, #8960
		.LVL124:
				add	r8, r8, #48
				sub	r4, r8, #4
				movs	r3, #0
				str	r3, [sp, #508]
				movs	r3, #1
				str	r3, [sp, #504]
				movs	r3, #5
				str	r3, [sp, #500]
				mov	r2, #256
				mov	r1, r10
				add	r0, sp, #244
				bl	memcpy(PLT)
		.LVL125:
				str	r5, [sp, #240]
				movs	r2, #240
				add	r1, r8, #12
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL126:
				ldm	r4, {r0, r1, r2, r3}
				bl	_signal_event(PLT)
		.LVL127:
				b	.L29
		.LVL128:
		.L30:
		.LBB157:
				mov	r5, #256
				mov	r2, r5
				ldr	r1, .L56+60
		.LPIC16:
				add	r1, pc
				add	r4, r7, #14592
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL129:
				mov	r2, r5
				mov	r1, r4
				add	r4, r7, #300
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL130:
		.LBE157:
				mov	r2, r5
				mov	r1, r4
				add	r0, r7, #8960
				adds	r0, r0, #44
				bl	memcpy(PLT)
		.LVL131:
				b	.L31
		.LVL132:
		.L54:
		.LBE208:
		.LBB209:
   47             print string("   To: ".itos(flights(i)_to,0))
				add	r3, r7, #812
				str	r3, [r7, #8]
				addw	r3, r7, #1324
				str	r3, [r7, #4]
				str	r9, [r7]
		.LVL45:
		.L34:
		.LBE125:
		.LBE124:
		.LBE123:
				ldr	r2, [r7, #4]
				addw	r1, r7, #1068
				ldr	r5, [r7, #8]
				mov	r0, r5
				bl	_imp_join(PLT)
		.LVL48:
		.LBE129:
				addw	r2, r7, #1580
				mov	r1, r5
				add	r3, r7, #14592
				adds	r3, r3, #44
				mov	fp, r3
				mov	r0, r3
				bl	_imp_join(PLT)
		.LVL49:
				mov	r8, #256
				mov	r2, r8
				add	r1, r7, #556
				add	r5, r7, #11520
				adds	r5, r5, #44
				mov	r0, r5
				bl	memcpy(PLT)
		.LVL50:
		.LBE130:
		.LBE131:
		.LBB132:
		.LBB133:
				movs	r2, #240
				add	r1, r7, #11520
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL51:
				ldm	r5, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL52:
		.LBE133:
		.LBE132:
		.LBB134:
		.LBB135:
		.LBB136:
   48             print string(" Cost: ".itos(flights(i)_cost,0))
				ldr	r3, [r7, #28]
				movs	r2, #12
				mul	r4, r2, r4
		.LVL53:
		.LBB137:
		.LBB138:
				movs	r2, #0
				ldr	r1, [r3, r4]
				add	r0, r7, #11264
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL54:
		.LBE138:
		.LBE137:
		.LBE136:
				addw	r2, r7, #2348
				addw	r1, r7, #2092
				mov	r0, fp
				bl	_imp_join(PLT)
		.LVL55:
				mov	r2, r8
				addw	r1, r7, #1836
				add	r5, r7, #11008
				adds	r5, r5, #44
				mov	r0, r5
				bl	memcpy(PLT)
		.LVL56:
		.LBE135:
		.LBE134:
		.LBB139:
		.LBB140:
				movs	r2, #240
				add	r1, r7, #11008
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL57:
				ldm	r5, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL58:
		.LBE140:
		.LBE139:
		.LBB141:
		.LBB142:
		.LBB143:
   49             newline
				cmp	r6, #0
				beq	.L33
				movs	r4, #0
		.LBB123:
		.LBB124:
		.LBB125:
				ldr	r3, [r7, #28]
				add	r3, r3, r4
		.LBB144:
		.LBB145:
				movs	r2, #0
				ldr	r1, [r3, #4]
				add	r0, r7, #10752
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL59:
		.LBE145:
		.LBE144:
		.LBE143:
				addw	r2, r7, #3116
				addw	r1, r7, #2860
				str	fp, [r7, #12]
				mov	r0, fp
				bl	_imp_join(PLT)
		.LVL60:
				add	fp, r7, #10496
				add	fp, fp, #48
				sub	r5, fp, #4
				mov	r2, r8
				addw	r1, r7, #2604
				mov	r0, r5
				bl	memcpy(PLT)
		.LVL61:
		.LBE142:
		.LBE141:
		.LBB146:
		.LBB147:
				movs	r2, #240
				add	r1, fp, #12
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL62:
				ldm	r5, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL63:
		.LBE147:
		.LBE146:
		.LBB148:
		.LBB149:
		.LBB150:
				ldr	r3, [r7, #28]
				add	r4, r4, r3
		.LBB151:
		.LBB152:
				movs	r2, #0
				ldr	r1, [r4, #8]
				add	r0, r7, #10240
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL64:
		.LBE152:
		.LBE151:
		.LBE150:
				addw	r2, r7, #3884
				addw	r1, r7, #3628
				ldr	r0, [r7, #12]
				bl	_imp_join(PLT)
		.LVL65:
				add	r5, r7, #9984
				adds	r5, r5, #48
				subs	r4, r5, #4
				mov	r2, r8
				addw	r1, r7, #3372
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL66:
		.LBE149:
		.LBE148:
		.LBB153:
		.LBB154:
				movs	r2, #240
				add	r1, r5, #12
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL67:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL68:
		.LBE154:
		.LBE153:
		.LBB155:
		.LBB156:
				bl	_imp_newline(PLT)
		.LVL69:
		.LBE156:
		.LBE155:
				mov	r4, r9
				cmp	r6, r9
				bne	.L34
				ldr	r9, [r7]
		.LVL70:
		.L33:
		.LBE122:
		.LBB158:
		.LBB159:
		.LBB160:
		.LBB161:
		.LBB162:
				movs	r2, #0
				ldr	r1, [r7, #16]
				add	r0, r7, #13312
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL71:
		.LBE162:
		.LBE161:
		.LBE160:
   50         %repeat
				add	r9, r4, #1
		.LVL46:
		.LBB131:
		.LBB130:
		.LBB129:
		.LBB126:
		.LBB127:
		.LBB128:
				movs	r2, #0
				mov	r1, r9
				add	r0, r7, #11776
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL47:
		.LBE128:
		.LBE127:
		.LBE126:
   51         printstring("      Start: ".itos(start,0)); newline
   52         printstring("Destination: ".itos(destination,0)); newline
   53         printstring("      Stops: ".itos(stops,0)); newline
				add	r2, r7, #4640
				adds	r2, r2, #12
				add	r1, r7, #4384
				adds	r1, r1, #12
				add	r6, r7, #14592
		.LVL72:
				adds	r6, r6, #44
				mov	r0, r6
				bl	_imp_join(PLT)
		.LVL73:
				mov	r10, #256
				mov	r2, r10
				add	r1, r7, #4128
				adds	r1, r1, #12
				add	r4, r7, #13056
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL74:
		.LBE159:
		.LBE158:
		.LBB163:
		.LBB164:
				mov	r8, #240
				mov	r2, r8
				add	r1, r7, #13056
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL75:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL76:
		.LBE164:
		.LBE163:
		.LBB165:
		.LBB166:
				bl	_imp_newline(PLT)
		.LVL77:
		.LBE166:
		.LBE165:
		.LBB167:
		.LBB168:
		.LBB169:
		.LBB170:
		.LBB171:
				movs	r2, #0
				ldr	r1, [r7, #20]
				add	r0, r7, #12800
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL78:
		.LBE171:
		.LBE170:
		.LBE169:
   54         max cost = 0
				add	r2, r7, #5408
				adds	r2, r2, #12
				add	r1, r7, #5152
				adds	r1, r1, #12
				mov	r0, r6
				bl	_imp_join(PLT)
		.LVL79:
				mov	r2, r10
				add	r1, r7, #4896
				adds	r1, r1, #12
				add	r4, r7, #12544
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL80:
		.LBE168:
		.LBE167:
		.LBB172:
		.LBB173:
				mov	r2, r8
				add	r1, r7, #12544
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL81:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL82:
		.LBE173:
		.LBE172:
		.LBB174:
		.LBB175:
				bl	_imp_newline(PLT)
		.LVL83:
		.LBE175:
		.LBE174:
		.LBB176:
		.LBB177:
		.LBB178:
		.LBB179:
		.LBB180:
				movs	r2, #0
				ldr	r1, [r7, #24]
				add	r0, r7, #12288
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL84:
		.LBE180:
		.LBE179:
		.LBE178:
				mov	r4, r5
		.LBB187:
				mov	r4, r3
		.LVL93:
		.L40:
		.LBB188:
   55         %for i = 1,1,n %cycle
				add	r2, r7, #6176
				adds	r2, r2, #12
				add	r1, r7, #5920
				adds	r1, r1, #12
				mov	r0, r6
				bl	_imp_join(PLT)
		.LVL85:
				mov	r2, r10
				add	r1, r7, #5664
				adds	r1, r1, #12
				add	r4, r7, #12032
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL86:
		.LBE177:
		.LBE176:
		.LBB181:
		.LBB182:
				mov	r2, r8
				add	r1, r7, #12032
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL87:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL88:
		.LBE182:
		.LBE181:
		.LBB183:
		.LBB184:
				bl	_imp_newline(PLT)
		.LVL89:
		.LBE184:
		.LBE183:
		.LBB185:
   56             max cost = max cost + flights(i)_cost
				ldr	r5, [r7, #32]
		.LVL90:
				ldr	r1, [r2, #8]
				add	r4, r4, r1
		.LVL95:
		.LDL1:
				adds	r2, r2, #12
   57         %repeat
				cmp	r5, #1
				bmi	.L54
		.L35:
		.LVL91:
		.LBE185:
				ldr	r3, .L56+40
				ldr	r3, [r9, r3]
				ldr	r1, [r3]
				cbz	r1, .L36
				add	r0, r7, #9472
				adds	r0, r0, #44
				bl	_imp_c2istr(PLT)
		.LVL133:
		.L37:
				ldr	r3, .L56+44
				ldr	r3, [r9, r3]
				ldr	r6, [r3]
				cmp	r6, #0
				it	eq
				moveq	r6, #57
				ldr	r1, .L56+64
		.LPIC19:
				add	r1, pc
				add	r8, r7, #9728
				add	r8, r8, #44
				mov	r0, r8
				bl	_imp_c2istr(PLT)
		.LVL134:
				add	r9, r7, #9472
				add	r9, r9, #48
				sub	r4, r9, #4
				movs	r3, #0
				str	r3, [sp, #508]
				movs	r3, #1
				str	r3, [sp, #504]
				movs	r3, #5
				str	r3, [sp, #500]
				mov	r2, #256
				mov	r1, r8
				add	r0, sp, #244
				bl	memcpy(PLT)
		.LVL135:
				str	r6, [sp, #240]
				movs	r2, #240
				add	r1, r9, #12
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL136:
				ldm	r4, {r0, r1, r2, r3}
				bl	_signal_event(PLT)
		.LVL137:
				b	.L35
		.L36:
		.LBB186:
				mov	r6, #256
				mov	r2, r6
				ldr	r1, .L56+68
		.LPIC18:
				add	r1, pc
				add	r4, r7, #14592
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL138:
				mov	r2, r6
				mov	r1, r4
				add	r4, r7, #6432
				adds	r4, r4, #12
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL139:
		.LBE186:
				mov	r2, r6
				mov	r1, r4
				add	r0, r7, #9472
				adds	r0, r0, #44
				bl	memcpy(PLT)
		.LVL140:
				b	.L37
		.LVL141:
		.L55:
		.LBE209:
		.LBB210:
   58         print string( "Greatest cost: ".itos(max cost,0));newline
				movs	r3, #0
		.LBE187:
   59
   60         min cost = max cost
				cbz	r5, .L39
		.LVL92:
				ldr	r2, [r7, #28]
				cmp	r5, r3
				bne	.L40
		.LVL96:
		.L39:
		.LBE188:
		.LBB189:
		.LBB190:
		.LBB191:
		.LBB192:
		.LBB193:
				movs	r2, #0
				mov	r1, r4
				add	r0, r7, #13824
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL97:
		.LBE193:
		.LBE192:
		.LBE191:
				add	r2, r7, #7200
				adds	r2, r2, #12
				add	r1, r7, #6944
				adds	r1, r1, #12
				add	r0, r7, #14592
				adds	r0, r0, #44
				bl	_imp_join(PLT)
		.LVL98:
				mov	r2, #256
				add	r1, r7, #6688
				adds	r1, r1, #12
				add	r5, r7, #13568
		.LVL99:
				adds	r5, r5, #44
				mov	r0, r5
				bl	memcpy(PLT)
		.LVL100:
		.LBE190:
		.LBE189:
		.LBB194:
		.LBB195:
				movs	r2, #240
				add	r1, r7, #13568
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL101:
				ldm	r5, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL102:
		.LBE195:
		.LBE194:
		.LBB196:
		.LBB197:
				bl	_imp_newline(PLT)
		.LVL103:
		.LBE197:
		.LBE196:
				add	r5, r7, #28
				str	r4, [r7, #36]
				mov	ip, r5
				movs	r3, #0
				ldr	r2, [r7, #24]
				ldr	r1, [r7, #20]
				ldr	r0, [r7, #16]
				bl	CHEAPESTPRICE.10052(PLT)
		.LVL104:
   61         cheapest price( start, destination, stops, 0 )
				adds	r3, r3, #1
		.LVL94:
   62         %if (min cost = max cost) %start
				ldr	r1, [r5, #8]
				cmp	r1, r4
				beq	.L55
		.L41:
		.LVL105:
		.LBB198:
		.LBB199:
		.LBB200:
		.LBB201:
		.LBB202:
				movs	r2, #0
				add	r0, r7, #14592
				adds	r0, r0, #44
				bl	_imp_itos(PLT)
		.LVL106:
		.LBE202:
		.LBE201:
		.LBE200:
   63             print string( "No route found for #hops, start, end points and the given flights data")
				mov	r5, #256
				mov	r2, r5
				ldr	r1, .L56+72
		.LPIC20:
				add	r1, pc
				add	r1, r1, #296
				add	r4, r7, #14592
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL142:
				mov	r2, r5
				mov	r1, r4
				add	r4, r7, #7456
				adds	r4, r4, #12
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL143:
				mov	r2, r5
				mov	r1, r4
				add	r4, r7, #14080
				adds	r4, r4, #44
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL144:
		.LBE210:
		.LBB211:
		.LBB212:
				movs	r2, #240
				add	r1, r7, #14080
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL145:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL146:
				b	.L42
		.L57:
				.align	2
		.L56:
				.word	_GLOBAL_OFFSET_TABLE_-(.LPIC11+4)
				.word	__stack_chk_guard(GOT)
				.word	_imp_InStream(GOT)
				.word	_imp_InFile(GOT)
				.word	_imp_infile(GOT)
				.word	.LANCHOR0-(.LPIC12+4)
				.word	_imp_OutStream(GOT)
				.word	_imp_OutFile(GOT)
				.word	_imp_outfile(GOT)
				.word	.LANCHOR0-(.LPIC15+4)
				.word	_imp_current_file(GOT)
				.word	_imp_current_line(GOT)
				.word	.LC12-(.LPIC14+4)
				.word	.LANCHOR0-(.LPIC13+4)
				.word	.LC12-(.LPIC17+4)
				.word	.LANCHOR0-(.LPIC16+4)
				.word	.LC12-(.LPIC19+4)
				.word	.LANCHOR0-(.LPIC18+4)
				.word	.LANCHOR0-(.LPIC20+4)
		.LBE212:
		.LBE211:
		.LBE215:
		.LFE185:
				.section	.rodata
				.align	2
				.set	.LANCHOR0,. + 0
		.LC0:
				.byte	25
				.ascii	"test-new/shortestpath.imp\000"
				.space	229
		__PRETTY_FUNCTION__.9625:
				.ascii	"_imp_SELECTINPUT\000"
				.space	3
		__PRETTY_FUNCTION__.9629:
				.ascii	"_imp_SELECTOUTPUT\000"
				.space	2
		.LC10:
				.byte	70
				.ascii	"No route found for #hops, start, end points and the"
				.ascii	" given flights data\000"
				.space	184
				.section	.rodata.str1.4,"aMS",%progbits,1
				.align	2
		.LC12:
				.ascii	"Illegal cycle I = 1, 1, N\000"
		.Letext0:
   64         %finish %else %start
   65             print string( "Minimum cost: ".itos(min cost,0))
   66         %finish
   67         newline
				add	r2, r7, #8192
				adds	r2, r2, #44
				add	r1, r7, #7968
				adds	r1, r1, #12
				add	r4, r7, #14336
				adds	r4, r4, #44
				mov	r0, r4
				bl	_imp_join(PLT)
		.LVL107:
				mov	r2, #256
				add	r1, r7, #7712
				adds	r1, r1, #12
				mov	r0, r4
				bl	memcpy(PLT)
		.LVL108:
		.LBE199:
		.LBE198:
		.LBB203:
		.LBB204:
				movs	r2, #240
				add	r1, r7, #14336
				adds	r1, r1, #60
				mov	r0, sp
				bl	memcpy(PLT)
		.LVL109:
				ldm	r4, {r0, r1, r2, r3}
				bl	_imp_printstring(PLT)
		.LVL110:
		.L42:
		.LBE204:
		.LBE203:
		.LBB205:
		.LBB206:
				bl	_imp_newline(PLT)
		.LVL111:
		.LDL2:
		.LBE206:
		.LBE205:
		.LBE117:
		.LBB213:
		.LBB214:
				movs	r0, #0
				bl	exit(PLT)
		.LVL112:
		.L52:
		.LBE214:
		.LBE213:
		.LBB215:
		.LBB207:
   68
   69     %end
   70
   71 %end
   72 %endoffile
   63 Statements compiled
