         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	2
		CHEAPESTPRICE.7716:
		.LFB187:
		.LVL30:
				mov	x16, 15536
				sub	sp, sp, x16
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x19, x20, [sp, 16]
				stp	x21, x22, [sp, 32]
				stp	x23, x24, [sp, 48]
				stp	x25, x26, [sp, 64]
				stp	x27, x28, [sp, 80]
				adrp	x2, :got:__stack_chk_guard
				ldr	x2, [x2, #:got_lo12:__stack_chk_guard]
				ldr	x3, [x2]
				str	x3, [x29, 15528]
				mov	x3,0
				add	x2, x29, 12288
				add	x2, x2, 3248
				str	x2, [x29, 672]
    2     %integer n
				bl	_imp_initialise
		.LVL31:
		.LBB115:
		.LBB116:
				adrp	x0, :got:_imp_InStream
				ldr	x0, [x0, #:got_lo12:_imp_InStream]
				mov	w1, 1
				str	w1, [x0]
				adrp	x0, :got:_imp_infile
				ldr	x0, [x0, #:got_lo12:_imp_infile]
				ldr	x1, [x0, 296]
				adrp	x0, :got:_imp_InFile
				ldr	x0, [x0, #:got_lo12:_imp_InFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				add	x0, x0, 256
				bl	check_instream
		.LVL32:
		.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	x0, x29, 664
				bl	_imp_readint
		.LVL33:
		.LBB117:
   12
   13     %begin
   14         %record(flightfm) %array flights(1:n)
				ldr	w21, [x29, 664]
		.LVL34:
				sxtw	x0, w21
		.LVL35:
				add	x0, x0, x0, lsl 1
		.LVL36:
				lsl	x0, x0, 2
				add	x0, x0, 18
				and	x0, x0, -16
				sub	sp, sp, x0
				mov	x0, sp
				str	x0, [x29, 656]
		.LVL37:
		.LBB118:
   15         %integer i,start,destination,stops, min cost, max cost
   16
   17         %routine cheapest price( %integer src, dst, stops, cost so far )
		.LVL0:
				sub	sp, sp, #1392
				stp	x29, x30, [sp]
				add	x29, sp, 0
				stp	x20, x21, [sp, 24]
				stp	x22, x23, [sp, 40]
				mov	w21, w0
				mov	w22, w1
				mov	w23, w3
				mov	x20, x18
				adrp	x0, :got:__stack_chk_guard
		.LVL1:
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x0]
				str	x1, [x29, 1384]
				mov	x1,0
		.LVL2:
   18             %integer i
   19
   20             %if (src = dst) %start
				cmp	w21, w22
				beq	.L18
		.L2:
				str	x25, [x29, 64]
				mov	w25, w2
   21                 min cost = min(min cost, cost so far)
				ldr	w0, [x18, 12]
				cmp	w0, w3
				csel	w23, w0, w3, le
				str	w23, [x18, 12]
   22             %finish %else %if (stops >= 0) %start
				b	.L1
		.LVL12:
		.L19:
				stp	x26, x27, [x29, 72]
				str	x28, [x29, 88]
		.LBB114:
   23
   24                 %for i = 1,1,n %cycle
				tbnz	w2, #31, .L15
				str	x19, [x29, 16]
				str	x24, [x29, 56]
		.LBB112:
   25                     %if (flights(i)_from = src) %start
				ldr	w24, [x18, 8]
		.LVL3:
				ldr	w0, [x1, x0, lsl 2]
				cmp	w0, w21
				beq	.L20
		.L9:
				mov	w0, w19
   26                         cheapest price( flights(i)_to, dst, stops - 1, cost so far + flights(i)_cost )
				cmp	w24, #1
				bmi	.L19
		.LVL4:
		.L4:
				sub	w25, w25, #1
		.LVL5:
		.L8:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L5
				add	x8, x29, 872
				bl	_imp_c2istr
		.LVL13:
		.L6:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w26, [x0]
				cmp	w26, 0
				mov	w0, 26
				csel	w26, w26, w0, ne
				add	x28, x29, 1128
				mov	x8, x28
				adrp	x0, .LC12
				add	x0, x0, :lo12:.LC12
				bl	_imp_c2istr
		.LVL14:
				add	x19, x29, 352
				mov	x27, 256
				mov	x2, x27
				add	x1, x29, 872
				mov	x0, x19
				bl	memcpy
		.LVL15:
				add	x0, x29, 96
				mov	x2, x27
				mov	x1, x28
				mov	x27, x0
				bl	memcpy
		.LVL16:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x27
				mov	w1, w26
				mov	x0, x19
				bl	_signal_event
		.LVL17:
				ldp	x26, x27, [x29, 72]
				ldr	x28, [x29, 88]
				b	.L4
		.LVL18:
		.L5:
		.LBB113:
				add	x26, x29, 1128
				mov	x27, 256
				mov	x2, x27
		.LVL19:
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	x0, x26
				bl	memcpy
		.LVL20:
				add	x19, x29, 616
				mov	x2, x27
				mov	x1, x26
				mov	x0, x19
				bl	memcpy
		.LVL21:
		.LBE113:
				mov	x2, x27
				mov	x1, x19
				add	x0, x29, 872
				bl	memcpy
		.LVL22:
				b	.L6
		.LVL23:
		.L20:
				ldr	w3, [x4, 8]
				mov	x18, x20
				add	w3, w23, w3
				mov	w2, w25
				mov	w1, w22
				ldr	w0, [x4, 4]
				bl	CHEAPESTPRICE.7716
		.LVL24:
				b	.L9
		.L3:
		.L10:
		.L11:
		.LVL25:
		.L15:
				ldr	x25, [x29, 64]
				b	.L1
		.LVL26:
		.L16:
				ldr	x19, [x29, 16]
				ldp	x24, x25, [x29, 56]
		.LVL27:
				b	.L1
		.LVL28:
		.L21:
				str	x19, [x29, 16]
				stp	x24, x25, [x29, 56]
				stp	x26, x27, [x29, 72]
				str	x28, [x29, 88]
		.LBE114:
				bl	__stack_chk_fail
		.LVL29:
		.LFE187:
				.align	2
				.global	main
		main:
		.LFB185:
   27                     %finish
   28                 %repeat
   29
				cbz	w24, .L16
				mov	w0, 0
				cmp	w24, w19
				bne	.L8
		.LVL7:
				ldr	x19, [x29, 16]
				ldp	x24, x25, [x29, 56]
		.LVL8:
		.L1:
		.LBE112:
   30             %finish
				add	w19, w0, 1
		.LVL6:
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				ldr	x1, [x20]
				add	x4, x1, x0, lsl 2
   31
   32         %end
   33
				adrp	x0, :got:__stack_chk_guard
				ldr	x0, [x0, #:got_lo12:__stack_chk_guard]
				ldr	x1, [x29, 1384]
				ldr	x0, [x0]
				eor	x0, x1, x0
				cbnz	x0, .L21
				ldp	x20, x21, [sp, 24]
		.LVL9:
				ldp	x22, x23, [sp, 40]
		.LVL10:
				ldp	x29, x30, [sp]
				add	sp, sp, 1392
				ret
		.LVL11:
		.L18:
   34         %for i=1,1,n %cycle
   35             read(flights(i)_from)
				ldr	x0, [x29, 656]
				add	x0, x0, x19
				bl	_imp_readint
		.LVL41:
   36             read(flights(i)_to)
				cmp	w21, #1
				bmi	.L52
		.L23:
		.LVL38:
				add	x0, x19, 4
				ldr	x1, [x29, 656]
				add	x0, x1, x0
				bl	_imp_readint
		.LVL42:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L24
				add	x8, x29, 8192
				add	x8, x8, 936
				bl	_imp_c2istr
		.LVL117:
		.L25:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 36
				csel	w20, w20, w0, ne
				add	x23, x29, 8192
				add	x23, x23, 1192
				mov	x8, x23
				adrp	x0, .LC12
				add	x0, x0, :lo12:.LC12
				bl	_imp_c2istr
		.LVL118:
				add	x19, x29, 384
				mov	x24, 256
				mov	x2, x24
				add	x1, x29, 8192
				add	x1, x1, 936
				mov	x0, x19
				bl	memcpy
		.LVL119:
				add	x22, x29, 128
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL120:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x22
				mov	w1, w20
				mov	x0, x19
				bl	_signal_event
		.LVL121:
				b	.L23
		.L24:
		.LBB119:
				add	x20, x29, 12288
				add	x20, x20, 2984
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	x0, x20
				bl	memcpy
		.LVL122:
				add	x19, x29, 680
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL123:
		.LBE119:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 8192
				add	x0, x0, 936
				bl	memcpy
		.LVL124:
				b	.L25
		.LVL125:
		.L53:
		.LBE209:
		.LBB210:
   37             read(flights(i)_cost)
				add	x19, x19, 8
				ldr	x0, [x29, 656]
				add	x0, x0, x19
				bl	_imp_readint
		.LVL43:
				mov	w19, w20
   38         %repeat
   39         read(start)
				cbz	w21, .L27
				mov	w19, 0
		.LVL39:
		.L28:
				cmp	w20, w21
				bne	.L28
		.LVL44:
		.L27:
		.LBE118:
				add	x0, x29, 644
				bl	_imp_readint
		.LVL45:
				add	x0, x29, 648
				bl	_imp_readint
		.LVL46:
   40         read(destination)
				add	w20, w19, 1
		.LVL40:
				sxtw	x19, w19
				add	x19, x19, x19, lsl 1
				lsl	x19, x19, 2
   41         read(stops)
				add	x0, x29, 652
				bl	_imp_readint
		.LVL47:
		.LBB120:
		.LBB121:
				adrp	x0, :got:_imp_OutStream
				ldr	x0, [x0, #:got_lo12:_imp_OutStream]
				str	wzr, [x0]
				adrp	x0, :got:_imp_outfile
				ldr	x0, [x0, #:got_lo12:_imp_outfile]
				ldr	x1, [x0, 8]
				adrp	x0, :got:_imp_OutFile
				ldr	x0, [x0, #:got_lo12:_imp_OutFile]
				str	x1, [x0]
				adrp	x0, .LANCHOR0
				add	x0, x0, :lo12:.LANCHOR0
				add	x0, x0, 280
				bl	check_outstream
		.LVL48:
		.LBE121:
		.LBE120:
		.LBB122:
   42
   43         select output(0)
   44         %for i=1,1,n %cycle
   45             print string("Flight(".itos(i,0)."): ");
				ldr	w27, [x29, 664]
		.LVL49:
   46             print string(" From: ".itos(flights(i)_from,0))
				cmp	w27, #1
				bmi	.L53
		.LVL50:
		.L29:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L30
				add	x8, x29, 8192
				add	x8, x8, 1448
				bl	_imp_c2istr
		.LVL126:
		.L31:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w20, [x0]
				cmp	w20, 0
				mov	w0, 46
				csel	w20, w20, w0, ne
				add	x22, x29, 8192
				add	x22, x22, 1704
				mov	x8, x22
				adrp	x0, .LC12
				add	x0, x0, :lo12:.LC12
				bl	_imp_c2istr
		.LVL127:
				add	x19, x29, 128
				mov	x23, 256
				mov	x2, x23
				add	x1, x29, 8192
				add	x1, x1, 1448
				mov	x0, x19
				bl	memcpy
		.LVL128:
				add	x21, x29, 384
				mov	x2, x23
				mov	x1, x22
				mov	x0, x21
				bl	memcpy
		.LVL129:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x21
				mov	w1, w20
				mov	x0, x19
				bl	_signal_event
		.LVL130:
				b	.L29
		.LVL131:
		.L30:
		.LBB160:
				add	x20, x29, 12288
				add	x20, x20, 2984
				mov	x21, 256
		.LVL132:
				mov	x2, x21
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	x0, x20
				bl	memcpy
		.LVL133:
				add	x19, x29, 936
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL134:
		.LBE160:
				mov	x2, x21
				mov	x1, x19
				add	x0, x29, 8192
				add	x0, x0, 1448
				bl	memcpy
		.LVL135:
				b	.L31
		.LVL136:
		.L54:
		.LBE210:
		.LBB211:
   47             print string("   To: ".itos(flights(i)_to,0))
				add	x0, x29, 1960
				str	x0, [x29, 120]
				add	x0, x29, 1704
				str	x0, [x29, 112]
				add	x26, x29, 1448
		.LBE125:
				add	x0, x29, 2216
				str	x0, [x29, 104]
		.LVL51:
		.L34:
		.LBE124:
		.LBE123:
				mov	x8, x26
				ldr	x1, [x29, 120]
				ldr	x0, [x29, 112]
				bl	_imp_join
		.LVL54:
		.LBE132:
				add	x23, x29, 12288
				add	x23, x23, 2984
				mov	x8, x23
				ldr	x1, [x29, 104]
				mov	x0, x26
				bl	_imp_join
		.LVL55:
				add	x22, x29, 8192
				add	x22, x22, 4008
				mov	x20, 256
				mov	x2, x20
				add	x1, x29, 1192
				mov	x0, x22
				bl	memcpy
		.LVL56:
		.LBE133:
		.LBE134:
		.LBB135:
		.LBB136:
				add	x19, x29, 128
				mov	x2, x20
				mov	x1, x22
				mov	x0, x19
				bl	memcpy
		.LVL57:
				mov	x0, x19
				bl	_imp_printstring
		.LVL58:
		.LBE136:
		.LBE135:
		.LBB137:
		.LBB138:
		.LBB139:
   48             print string(" Cost: ".itos(flights(i)_cost,0))
				sxtw	x21, w21
				lsl	x22, x21, 1
				add	x2, x22, x21
		.LBB140:
		.LBB141:
				add	x8, x29, 8192
				add	x8, x8, 3752
				mov	w1, 0
				ldr	x0, [x29, 656]
				ldr	w0, [x0, x2, lsl 2]
				bl	_imp_itos
		.LVL59:
		.LBE141:
		.LBE140:
		.LBE139:
				mov	x8, x23
				add	x1, x29, 2984
				add	x0, x29, 2728
				bl	_imp_join
		.LVL60:
				add	x24, x29, 8192
				add	x24, x24, 3496
				mov	x2, x20
				add	x1, x29, 2472
				mov	x0, x24
				bl	memcpy
		.LVL61:
		.LBE138:
		.LBE137:
		.LBB142:
		.LBB143:
				mov	x2, x20
				mov	x1, x24
				mov	x0, x19
				bl	memcpy
		.LVL62:
				mov	x0, x19
				bl	_imp_printstring
		.LVL63:
		.LBE143:
		.LBE142:
		.LBB144:
		.LBB145:
		.LBB146:
   49             newline
				cbz	w27, .L33
				mov	w21, 0
		.LBB123:
		.LBB124:
		.LBB125:
		.LBB126:
		.LBB127:
		.LBB128:
				add	x28, x29, 12288
				add	x28, x28, 168
		.LBE128:
		.LBE127:
		.LBE126:
				add	x0, x22, x21
				ldr	x1, [x29, 656]
				add	x0, x1, x0, lsl 2
		.LBB147:
		.LBB148:
				add	x8, x29, 8192
				add	x8, x8, 3240
				mov	w1, 0
				ldr	w0, [x0, 4]
				bl	_imp_itos
		.LVL64:
		.LBE148:
		.LBE147:
		.LBE146:
				mov	x8, x23
				add	x1, x29, 3752
				add	x0, x29, 3496
				bl	_imp_join
		.LVL65:
				add	x24, x29, 8192
				add	x24, x24, 2984
				mov	x2, x20
				add	x1, x29, 3240
				mov	x0, x24
				bl	memcpy
		.LVL66:
		.LBE145:
		.LBE144:
		.LBB149:
		.LBB150:
				mov	x2, x20
				mov	x1, x24
				mov	x0, x19
				bl	memcpy
		.LVL67:
				mov	x0, x19
				bl	_imp_printstring
		.LVL68:
		.LBE150:
		.LBE149:
		.LBB151:
		.LBB152:
		.LBB153:
				add	x21, x22, x21
		.LVL69:
				ldr	x22, [x29, 656]
				add	x21, x22, x21, lsl 2
		.LBB154:
		.LBB155:
				add	x8, x29, 8192
				add	x8, x8, 2728
				mov	w1, 0
				ldr	w0, [x21, 8]
				bl	_imp_itos
		.LVL70:
		.LBE155:
		.LBE154:
		.LBE153:
				mov	x8, x23
				add	x1, x29, 4096
				add	x1, x1, 424
				add	x0, x29, 4096
				add	x0, x0, 168
				bl	_imp_join
		.LVL71:
				add	x21, x29, 8192
				add	x21, x21, 2472
				mov	x2, x20
				add	x1, x29, 4008
				mov	x0, x21
				bl	memcpy
		.LVL72:
		.LBE152:
		.LBE151:
		.LBB156:
		.LBB157:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL73:
				mov	x0, x19
				bl	_imp_printstring
		.LVL74:
		.LBE157:
		.LBE156:
		.LBB158:
		.LBB159:
				bl	_imp_newline
		.LVL75:
		.LBE159:
		.LBE158:
				mov	w21, w25
				cmp	w27, w25
				bne	.L34
		.LVL76:
		.L33:
		.LBE122:
		.LBB161:
		.LBB162:
		.LBB163:
		.LBB164:
		.LBB165:
				add	x8, x29, 12288
				add	x8, x8, 1704
				mov	w1, 0
				ldr	w0, [x29, 644]
				bl	_imp_itos
		.LVL77:
		.LBE165:
		.LBE164:
		.LBE163:
   50         %repeat
				add	w25, w21, 1
		.LVL52:
		.LBB134:
		.LBB133:
		.LBB132:
		.LBB131:
		.LBB130:
		.LBB129:
				mov	x8, x28
				mov	w1, 0
				mov	w0, w25
				bl	_imp_itos
		.LVL53:
		.LBE129:
		.LBE130:
		.LBE131:
   51         printstring("      Start: ".itos(start,0)); newline
   52         printstring("Destination: ".itos(destination,0)); newline
   53         printstring("      Stops: ".itos(stops,0)); newline
				add	x22, x29, 12288
				add	x22, x22, 2984
				mov	x8, x22
				add	x1, x29, 4096
				add	x1, x1, 1192
				add	x0, x29, 4096
				add	x0, x0, 936
				bl	_imp_join
		.LVL78:
				add	x21, x29, 12288
				add	x21, x21, 1448
				mov	x20, 256
				mov	x2, x20
				add	x1, x29, 4096
				add	x1, x1, 680
				mov	x0, x21
				bl	memcpy
		.LVL79:
		.LBE162:
		.LBE161:
		.LBB166:
		.LBB167:
				add	x19, x29, 128
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL80:
				mov	x0, x19
				bl	_imp_printstring
		.LVL81:
		.LBE167:
		.LBE166:
		.LBB168:
		.LBB169:
				bl	_imp_newline
		.LVL82:
		.LBE169:
		.LBE168:
		.LBB170:
		.LBB171:
		.LBB172:
		.LBB173:
		.LBB174:
				add	x8, x29, 12288
				add	x8, x8, 1192
				mov	w1, 0
				ldr	w0, [x29, 648]
				bl	_imp_itos
		.LVL83:
		.LBE174:
		.LBE173:
		.LBE172:
   54         max cost = 0
				mov	x8, x22
				add	x1, x29, 4096
				add	x1, x1, 1960
				add	x0, x29, 4096
				add	x0, x0, 1704
				bl	_imp_join
		.LVL84:
				add	x21, x29, 12288
				add	x21, x21, 936
				mov	x2, x20
				add	x1, x29, 4096
				add	x1, x1, 1448
				mov	x0, x21
				bl	memcpy
		.LVL85:
		.LBE171:
		.LBE170:
		.LBB175:
		.LBB176:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL86:
				mov	x0, x19
				bl	_imp_printstring
		.LVL87:
		.LBE176:
		.LBE175:
		.LBB177:
		.LBB178:
				bl	_imp_newline
		.LVL88:
		.LBE178:
		.LBE177:
		.LBB179:
		.LBB180:
		.LBB181:
		.LBB182:
		.LBB183:
				add	x8, x29, 12288
				add	x8, x8, 680
				mov	w1, 0
				ldr	w0, [x29, 652]
				bl	_imp_itos
		.LVL89:
		.LBE183:
		.LBE182:
		.LBE181:
				mov	w19, 0
		.LVL97:
		.L40:
		.LBB190:
				mov	w19, w20
				b	.L39
		.LVL146:
		.L55:
		.LBB212:
   55         %for i = 1,1,n %cycle
				mov	x8, x22
				add	x1, x29, 4096
				add	x1, x1, 2728
				add	x0, x29, 4096
				add	x0, x0, 2472
				bl	_imp_join
		.LVL90:
				add	x21, x29, 12288
				add	x21, x21, 424
				mov	x2, x20
				add	x1, x29, 4096
				add	x1, x1, 2216
				mov	x0, x21
				bl	memcpy
		.LVL91:
		.LBE180:
		.LBE179:
		.LBB184:
		.LBB185:
				mov	x2, x20
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL92:
				mov	x0, x19
				bl	_imp_printstring
		.LVL93:
		.LBE185:
		.LBE184:
		.LBB186:
		.LBB187:
				bl	_imp_newline
		.LVL94:
		.LBE187:
		.LBE186:
		.LBB188:
   56             max cost = max cost + flights(i)_cost
				ldr	w20, [x29, 664]
		.LVL95:
				ldr	x2, [x29, 656]
				sxtw	x0, w0
				add	x0, x0, x0, lsl 1
				add	x0, x2, x0, lsl 2
				ldr	w0, [x0, 8]
				add	w19, w19, w0
		.LVL99:
		.LDL1:
				mov	w0, w1
   57         %repeat
				cmp	w20, #1
				bmi	.L54
		.L35:
		.LVL96:
				adrp	x0, :got:_imp_current_file
				ldr	x0, [x0, #:got_lo12:_imp_current_file]
				ldr	x0, [x0]
				cbz	x0, .L36
				add	x8, x29, 8192
				add	x8, x8, 1960
				bl	_imp_c2istr
		.LVL137:
		.L37:
				adrp	x0, :got:_imp_current_line
				ldr	x0, [x0, #:got_lo12:_imp_current_line]
				ldr	w21, [x0]
				cmp	w21, 0
				mov	w0, 57
				csel	w21, w21, w0, ne
				add	x23, x29, 8192
				add	x23, x23, 2216
				mov	x8, x23
				adrp	x0, .LC12
				add	x0, x0, :lo12:.LC12
				bl	_imp_c2istr
		.LVL138:
				add	x19, x29, 128
				mov	x24, 256
				mov	x2, x24
				add	x1, x29, 8192
				add	x1, x1, 1960
				mov	x0, x19
				bl	memcpy
		.LVL139:
				add	x22, x29, 384
				mov	x2, x24
				mov	x1, x23
				mov	x0, x22
				bl	memcpy
		.LVL140:
				mov	w5, 0
				mov	w4, 1
				mov	w3, 5
				mov	x2, x22
				mov	w1, w21
				mov	x0, x19
				bl	_signal_event
		.LVL141:
				b	.L35
		.L36:
		.LBB189:
				add	x21, x29, 12288
				add	x21, x21, 2984
				mov	x22, 256
				mov	x2, x22
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				mov	x0, x21
				bl	memcpy
		.LVL142:
				add	x19, x29, 4096
				add	x19, x19, 2984
				mov	x2, x22
				mov	x1, x21
				mov	x0, x19
				bl	memcpy
		.LVL143:
		.LBE189:
				mov	x2, x22
				mov	x1, x19
				add	x0, x29, 8192
				add	x0, x0, 1960
				bl	memcpy
		.LVL144:
				b	.L37
		.LVL145:
		.L47:
		.LBE211:
   58         print string( "Greatest cost: ".itos(max cost,0));newline
				mov	w0, 0
		.LBE188:
   59
   60         min cost = max cost
				cbz	w20, .L47
				cmp	w20, w1
				bne	.L40
		.LVL100:
		.L39:
		.LBE190:
		.LBB191:
		.LBB192:
		.LBB193:
		.LBB194:
		.LBB195:
				add	x8, x29, 12288
				add	x8, x8, 2216
				mov	w1, 0
				mov	w0, w19
				bl	_imp_itos
		.LVL101:
		.LBE195:
		.LBE194:
		.LBE193:
				add	x8, x29, 12288
				add	x8, x8, 2984
				add	x1, x29, 4096
				add	x1, x1, 3752
				add	x0, x29, 4096
				add	x0, x0, 3496
				bl	_imp_join
		.LVL102:
				add	x21, x29, 12288
				add	x21, x21, 1960
				mov	x22, 256
				mov	x2, x22
				add	x1, x29, 4096
				add	x1, x1, 3240
				mov	x0, x21
				bl	memcpy
		.LVL103:
		.LBE192:
		.LBE191:
		.LBB196:
		.LBB197:
				add	x20, x29, 128
		.LVL104:
				mov	x2, x22
				mov	x1, x21
				mov	x0, x20
				bl	memcpy
		.LVL105:
				mov	x0, x20
				bl	_imp_printstring
		.LVL106:
		.LBE197:
		.LBE196:
		.LBB198:
		.LBB199:
				bl	_imp_newline
		.LVL107:
		.LBE199:
		.LBE198:
				str	w19, [x29, 668]
				add	x18, x29, 656
				mov	w3, 0
				ldr	w2, [x29, 652]
				ldr	w1, [x29, 648]
				ldr	w0, [x29, 644]
				bl	CHEAPESTPRICE.7716
		.LVL108:
   61         cheapest price( start, destination, stops, 0 )
				add	w1, w0, 1
		.LVL98:
   62         %if (min cost = max cost) %start
				ldr	w0, [x29, 668]
				cmp	w0, w19
				beq	.L55
		.L41:
		.LVL109:
		.LBB200:
		.LBB201:
		.LBB202:
		.LBB203:
		.LBB204:
				add	x8, x29, 12288
				add	x8, x8, 2984
				mov	w1, 0
				bl	_imp_itos
		.LVL110:
		.LBE204:
		.LBE203:
		.LBE202:
   63             print string( "No route found for #hops, start, end points and the given flights data")
				add	x20, x29, 12288
				add	x20, x20, 2984
				mov	x2, x22
				adrp	x1, .LANCHOR0
				add	x1, x1, :lo12:.LANCHOR0
				add	x1, x1, 304
				mov	x0, x20
				bl	memcpy
		.LVL147:
				add	x19, x29, 4096
				add	x19, x19, 4008
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL148:
				add	x20, x29, 12288
				add	x20, x20, 2472
				mov	x2, x22
				mov	x1, x19
				mov	x0, x20
				bl	memcpy
		.LVL149:
		.LBE212:
		.LBB213:
		.LBB214:
				add	x19, x29, 128
				mov	x2, x22
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL150:
				mov	x0, x19
				bl	_imp_printstring
		.LVL151:
				b	.L42
		.LBE214:
		.LBE213:
		.LBE217:
		.LFE185:
				.section	.rodata
				.align	3
				.set	.LANCHOR0,. + 0
		.LC0:
				.byte	25
				.string	"test-new/shortestpath.imp"
				.zero	229
		__PRETTY_FUNCTION__.7289:
				.string	"_imp_SELECTINPUT"
				.zero	7
		__PRETTY_FUNCTION__.7293:
				.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
				add	x20, x29, 12288
				add	x20, x20, 2728
				mov	x8, x20
				add	x1, x29, 8192
				add	x1, x1, 680
				add	x0, x29, 8192
				add	x0, x0, 424
				bl	_imp_join
		.LVL111:
				mov	x21, 256
				mov	x2, x21
				add	x1, x29, 8192
				add	x1, x1, 168
				mov	x0, x20
				bl	memcpy
		.LVL112:
		.LBE201:
		.LBE200:
		.LBB205:
		.LBB206:
				add	x19, x29, 128
				mov	x2, x21
				mov	x1, x20
				mov	x0, x19
				bl	memcpy
		.LVL113:
				mov	x0, x19
				bl	_imp_printstring
		.LVL114:
		.L42:
		.LBE206:
		.LBE205:
		.LBB207:
		.LBB208:
				bl	_imp_newline
		.LVL115:
		.LDL2:
		.LBE208:
		.LBE207:
		.LBE117:
		.LBB215:
		.LBB216:
				mov	w0, 0
				bl	exit
		.LVL116:
		.L52:
		.LBE216:
		.LBE215:
		.LBB217:
		.LBB209:
   68
   69     %end
   70
   71 %end
   72 %endoffile
   63 Statements compiled
