Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/JFc8X
function name: (null)
number of ops: 31
compiled vars: !0 = $weight, !1 = $trucks, !2 = $result
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
2 0 E > ASSIGN !0, 5678
3 1 ASSIGN !1, <array>
4 2 INIT_FCALL_BY_NAME 'optimize'
3 SEND_VAR_EX !0
4 SEND_VAR_EX !1
5 DO_FCALL 0 $5
6 ASSIGN !2, $5
5 7 INIT_FCALL 'var_dump'
8 SEND_VAR !2
9 DO_ICALL
6 10 ASSIGN !0, 900
7 11 ASSIGN !1, <array>
8 12 INIT_FCALL_BY_NAME 'optimize'
13 SEND_VAR_EX !0
14 SEND_VAR_EX !1
15 DO_FCALL 0 $10
16 ASSIGN !2, $10
9 17 INIT_FCALL 'var_dump'
18 SEND_VAR !2
19 DO_ICALL
10 20 ASSIGN !0, 1300
11 21 ASSIGN !1, <array>
12 22 INIT_FCALL_BY_NAME 'optimize'
23 SEND_VAR_EX !0
24 SEND_VAR_EX !1
25 DO_FCALL 0 $15
26 ASSIGN !2, $15
13 27 INIT_FCALL 'var_dump'
28 SEND_VAR !2
29 DO_ICALL
86 30 > RETURN 1
Function optimize:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 12
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 12
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 12
2 jumps found. (Code = 77) Position 1 = 14, Position 2 = 31
Branch analysis from position: 14
2 jumps found. (Code = 78) Position 1 = 15, Position 2 = 31
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 30
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
Branch analysis from position: 30
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 56
Branch analysis from position: 34
2 jumps found. (Code = 77) Position 1 = 38, Position 2 = 47
Branch analysis from position: 38
2 jumps found. (Code = 78) Position 1 = 39, Position 2 = 47
Branch analysis from position: 39
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
Branch analysis from position: 47
2 jumps found. (Code = 77) Position 1 = 58, Position 2 = 72
Branch analysis from position: 58
2 jumps found. (Code = 78) Position 1 = 59, Position 2 = 72
Branch analysis from position: 59
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 71
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
Branch analysis from position: 71
Branch analysis from position: 72
2 jumps found. (Code = 43) Position 1 = 75, Position 2 = 77
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
2 jumps found. (Code = 77) Position 1 = 80, Position 2 = 109
Branch analysis from position: 80
2 jumps found. (Code = 78) Position 1 = 81, Position 2 = 109
Branch analysis from position: 81
2 jumps found. (Code = 77) Position 1 = 82, Position 2 = 107
Branch analysis from position: 82
2 jumps found. (Code = 78) Position 1 = 83, Position 2 = 107
Branch analysis from position: 83
2 jumps found. (Code = 77) Position 1 = 85, Position 2 = 105
Branch analysis from position: 85
2 jumps found. (Code = 78) Position 1 = 86, Position 2 = 105
Branch analysis from position: 86
2 jumps found. (Code = 46) Position 1 = 89, Position 2 = 95
Branch analysis from position: 89
2 jumps found. (Code = 46) Position 1 = 96, Position 2 = 98
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 99, Position 2 = 104
Branch analysis from position: 99
1 jumps found. (Code = 42) Position 1 = 85
Branch analysis from position: 85
Branch analysis from position: 104
Branch analysis from position: 98
Branch analysis from position: 95
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 82
Branch analysis from position: 82
Branch analysis from position: 105
Branch analysis from position: 107
1 jumps found. (Code = 42) Position 1 = 80
Branch analysis from position: 80
Branch analysis from position: 107
Branch analysis from position: 109
2 jumps found. (Code = 77) Position 1 = 112, Position 2 = 117
Branch analysis from position: 112
2 jumps found. (Code = 78) Position 1 = 113, Position 2 = 117
Branch analysis from position: 113
1 jumps found. (Code = 42) Position 1 = 112
Branch analysis from position: 112
Branch analysis from position: 117
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 117
Branch analysis from position: 109
Branch analysis from position: 77
2 jumps found. (Code = 77) Position 1 = 80, Position 2 = 109
Branch analysis from position: 80
Branch analysis from position: 109
Branch analysis from position: 72
Branch analysis from position: 47
Branch analysis from position: 56
Branch analysis from position: 31
Branch analysis from position: 12
filename: /in/JFc8X
function name: optimize
number of ops: 126
compiled vars: !0 = $weight, !1 = $trucks, !2 = $sensitivity, !3 = $weightStore, !4 = $type, !5 = $truckCount, !6 = $capacity, !7 = $exact, !8 = $round, !9 = $ratio, !10 = $max, !11 = $ratioCap, !12 = $key, !13 = $cycle, !14 = $number, !15 = $value, !16 = $capacityUse
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
16 0 E > RECV_INIT !0 0
1 RECV_INIT !1 <array>
2 RECV_INIT !2 10
18 3 ASSIGN !3, !0
21 4 INIT_FCALL 'rsort'
5 SEND_REF !1
6 DO_ICALL
24 7 > FE_RESET_R $19 !1, ->12
8 > > FE_FETCH_R $19, !4, ->12
25 9 > ASSIGN_DIM !5, !4
10 OP_DATA 0
24 11 > JMP ->8
12 > FE_FREE $19
28 13 > FE_RESET_R $21 !1, ->31
14 > > FE_FETCH_R $21, !4, ->31
29 15 > ASSIGN !6, !4
30 16 DIV ~23 !0, !4
17 ASSIGN !7, ~23
31 18 INIT_FCALL 'floor'
19 SEND_VAR !7
20 DO_ICALL $25
21 CAST 4 ~26 $25
22 ASSIGN !8, ~26
33 23 IS_SMALLER_OR_EQUAL 1, !7
24 > JMPZ ~28, ->30
34 25 > ASSIGN_DIM !5, !4
26 OP_DATA !8
37 27 MUL ~30 !8, !4
28 SUB ~31 !0, ~30
29 ASSIGN !0, ~31
28 30 > > JMP ->14
31 > FE_FREE $21
42 32 IS_SMALLER 0, !0
33 > JMPZ ~33, ->56
43 34 > INIT_FCALL 'rsort'
35 SEND_REF !1
36 DO_ICALL
44 37 > FE_RESET_R $35 !1, ->47
38 > > FE_FETCH_R $35, !4, ->47
45 39 > DIV ~37 !0, !4
40 ASSIGN_DIM !9, !4
41 OP_DATA ~37
46 42 INIT_FCALL 'max'
43 SEND_VAR !9
44 DO_ICALL $38
45 ASSIGN !10, $38
44 46 > JMP ->38
47 > FE_FREE $35
48 48 INIT_FCALL 'array_search'
49 SEND_VAR !10
50 SEND_VAR !9
51 DO_ICALL $40
52 ASSIGN !4, $40
49 53 FETCH_DIM_RW $42 !5, !4
54 PRE_INC $42
50 55 ASSIGN_OP 2 !0, !4
59 56 > ASSIGN !11, <array>
60 57 > FE_RESET_R $46 !1, ->72
58 > > FE_FETCH_R ~47 $46, !4, ->72
59 > ASSIGN !12, ~47
61 60 ADD ~49 !12, 1
61 ISSET_ISEMPTY_DIM_OBJ 0 !1, ~49
62 > JMPZ ~50, ->71
62 63 > ADD ~51 !12, 1
64 FETCH_DIM_R ~52 !1, ~51
65 FETCH_DIM_R ~54 !1, !12
66 ADD ~55 !12, 1
67 FETCH_DIM_R ~56 !1, ~55
68 DIV ~57 ~54, ~56
69 ASSIGN_DIM !11, ~52
70 OP_DATA ~57
60 71 > > JMP ->58
72 > FE_FREE $46
67 73 IS_SMALLER_OR_EQUAL !2, 0
74 > JMPZ ~58, ->77
75 > QM_ASSIGN ~59 10
76 > JMP ->78
77 > QM_ASSIGN ~59 !2
78 > ASSIGN !2, ~59
68 79 > FE_RESET_R $61 !1, ->109
80 > > FE_FETCH_R $61, !13, ->109
69 81 > > FE_RESET_R $62 !5, ->107
82 > > FE_FETCH_R ~63 $62, !14, ->107
83 > ASSIGN !4, ~63
70 84 > FE_RESET_R $65 !11, ->105
85 > > FE_FETCH_R ~66 $65, !15, ->105
86 > ASSIGN !12, ~66
71 87 IS_EQUAL ~68 !4, !12
88 > JMPZ_EX ~68 ~68, ->95
89 > INIT_FCALL 'floor'
90 SEND_VAR !15
91 DO_ICALL $69
92 DIV ~70 $69, !2
93 IS_SMALLER_OR_EQUAL ~71 ~70, !14
94 BOOL ~68 ~71
95 > > JMPZ_EX ~68 ~68, ->98
96 > IS_NOT_EQUAL ~72 !14, 1
97 BOOL ~68 ~72
98 > > JMPZ ~68, ->104
72 99 > ASSIGN_DIM !5, !4
100 OP_DATA 0
73 101 MUL ~74 !4, !15
102 ASSIGN_DIM_OP += 1 !5, ~74
103 OP_DATA 1
70 104 > > JMP ->85
105 > FE_FREE $65
69 106 > JMP ->82
107 > FE_FREE $62
68 108 > JMP ->80
109 > FE_FREE $61
80 110 ASSIGN !16, 0
81 111 > FE_RESET_R $77 !5, ->117
112 > > FE_FETCH_R ~78 $77, !14, ->117
113 > ASSIGN !4, ~78
82 114 MUL ~80 !4, !14
115 ASSIGN_OP 1 !16, ~80
81 116 > JMP ->112
117 > FE_FREE $77
83 118 SUB ~82 !3, !16
119 ASSIGN !0, ~82
85 120 INIT_ARRAY ~84 !5, 'trucks'
121 ADD_ARRAY_ELEMENT ~84 !0, 'remaining+weight'
122 VERIFY_RETURN_TYPE ~84
123 > RETURN ~84
86 124* VERIFY_RETURN_TYPE
125* > RETURN null
End of function optimize
Generated using Vulcan Logic Dumper, using php 8.0.0