Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/Mpbcg
function name: (null)
number of ops: 36
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
101 0 E > INIT_FCALL 'var_dump'
1 INIT_FCALL 'find_similar3'
2 SEND_VAL 'i+knew+you+love+me'
3 SEND_VAL 'finally++i+know+you+loved+me+and+all+my+pets'
4 DO_FCALL 0 $0
5 SEND_VAR $0
6 DO_ICALL
102 7 INIT_FCALL 'var_dump'
8 INIT_FCALL 'find_similar3'
9 SEND_VAL 'I+you+love'
10 SEND_VAL 'This+is+a+demo+text+and+I+love+you+about+this'
11 DO_FCALL 0 $2
12 SEND_VAR $2
13 DO_ICALL
103 14 INIT_FCALL 'var_dump'
15 INIT_FCALL 'find_similar3'
16 SEND_VAL 'a+unik+idia'
17 SEND_VAL 'I+have+a+unique+idea.+Do+you+need%3F'
18 DO_FCALL 0 $4
19 SEND_VAR $4
20 DO_ICALL
104 21 INIT_FCALL 'var_dump'
22 INIT_FCALL 'find_similar3'
23 SEND_VAL 'Goebel%2C+Weiss%2C+Goethe%2C+Goethe+und+Goetz'
24 SEND_VAL 'Wei%C3%9F%2C+Goldmann%2C+G%C3%B6bel%2C+Weiss%2C+G%C3%B6the%2C+Goethe+und+G%C3%B6tz'
25 DO_FCALL 0 $6
26 SEND_VAR $6
27 DO_ICALL
105 28 INIT_FCALL 'var_dump'
29 INIT_FCALL 'find_similar3'
30 SEND_VAL '%E1%B8%BC%C6%A1%E1%B6%89%C3%AB%E1%B6%86+%C8%8B%E1%B9%95%C5%A1%E1%B6%99%E1%B9%81+%E1%B8%8D%E1%BB%A1%E1%B8%BD%C7%AD%E1%B5%B3+%CA%82%C7%90%C5%A5+%D3%93%E1%B9%81%E1%BB%87%E1%BA%97%2C+%C4%89%E1%B9%93%C9%B2%E1%B9%A9%E1%B8%99%C4%8B%C5%A5%E1%B6%92%C8%9B%C3%BB%C9%BE+%E1%BA%A5%C9%96%E1%B8%AF%C6%A5%C4%AD%E1%B9%A9%C4%8D%C4%AF%C9%B3%C4%A1+%E1%B8%9D%C5%82%C4%AF%CA%88'
106 31 SEND_VAL '%E1%B8%BC%C6%A1%E1%B6%89%C3%AB%E1%B6%86+%C8%8B%E1%B9%95%C5%A1%E1%B6%99%E1%B9%81+%E1%B8%8D%E1%BB%A1%E1%B8%BD%C7%AD%E1%B5%B3+%CA%82%C7%90%C5%A5+%D3%93%E1%B9%81%E1%BB%87%E1%BA%97%2C+%C4%89%E1%B9%93%C9%B2%E1%B9%A9%E1%B8%99%C4%8B%C5%A5%E1%B6%92%C8%9B%C3%BB%C9%BE+%E1%BA%A5%C9%96%E1%B8%AF%C6%A5%C4%AD%E1%B9%A9%C4%8D%C4%AF%C9%B3%C4%A1+%E1%B8%9D%C5%82%C4%AF%CA%88%2C+%C8%99%E1%BA%BF%E1%B6%91+%E1%B6%81%E2%B1%BA+%E1%BA%BD%E1%B8%AD%C5%AD%C5%9D%E1%B8%BF%EA%9D%8B%C4%8F+%E1%B9%AB%C4%95%E1%B6%86%E1%B6%88%E1%B9%93%C9%8D+%E1%BB%89%C3%B1%E1%B8%89%C4%AB%E1%B8%91%C8%8B%E1%B5%AD%E1%B9%B5%C5%84%C5%A5+%E1%B9%B7%C5%A7+%E1%B8%B9%E1%BA%A9%E1%B8%87%C5%91%EA%9D%9B%E1%BA%BF+%C3%A9%C8%B6+%C4%91%EA%9D%8D%EA%9E%8E%C3%B4%EA%9D%9B%C8%87+%E1%B5%AF%C3%A1%EA%9E%A1%E1%B6%87%C4%81+%C4%85%E2%B1%A1%C3%AE%C9%8B%E1%B9%B9%E1%BA%B5.'
105 32 DO_FCALL 0 $8
106 33 SEND_VAR $8
105 34 DO_ICALL
106 35 > RETURN 1
Function to_ascii:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 11
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 46) Position 1 = 13, Position 2 = 16
Branch analysis from position: 13
2 jumps found. (Code = 46) Position 1 = 17, Position 2 = 20
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 21, Position 2 = 51
Branch analysis from position: 21
2 jumps found. (Code = 47) Position 1 = 33, Position 2 = 36
Branch analysis from position: 33
2 jumps found. (Code = 43) Position 1 = 37, Position 2 = 39
Branch analysis from position: 37
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 44, Position 2 = 50
Branch analysis from position: 44
1 jumps found. (Code = 42) Position 1 = 52
Branch analysis from position: 52
Branch analysis from position: 50
Branch analysis from position: 36
Branch analysis from position: 51
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 20
Branch analysis from position: 16
filename: /in/Mpbcg
function name: to_ascii
number of ops: 54
compiled vars: !0 = $text, !1 = $encoding
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
5 0 E > RECV !0
1 RECV_INIT !1 'UTF-8'
6 2 TYPE_CHECK 64 !0
3 > JMPZ ~2, ->11
8 4 > INIT_FCALL 'preg_replace_callback'
5 SEND_VAL '%2F%5CX%2Fu'
6 SEND_VAL 'to_ascii'
7 SEND_VAR !0
8 DO_ICALL $3
9 ASSIGN !0, $3
6 10 > JMP ->52
10 11 > TYPE_CHECK 128 ~5 !0
12 > JMPZ_EX ~5 ~5, ->16
13 > COUNT ~6 !0
14 IS_EQUAL ~7 ~6, 1
15 BOOL ~5 ~7
16 > > JMPZ_EX ~5 ~5, ->20
17 > FETCH_DIM_R ~8 !0, 0
18 TYPE_CHECK 64 ~9 ~8
19 BOOL ~5 ~9
20 > > JMPZ ~5, ->51
12 21 > BEGIN_SILENCE ~10
22 INIT_FCALL_BY_NAME 'iconv'
23 SEND_VAR_EX !1
24 SEND_VAL_EX 'ASCII%2F%2FIGNORE%2F%2FTRANSLIT'
25 CHECK_FUNC_ARG
26 FETCH_DIM_FUNC_ARG $11 !0, 0
27 SEND_FUNC_ARG $11
28 DO_FCALL 0 $12
29 END_SILENCE ~10
30 ASSIGN !0, $12
14 31 IS_IDENTICAL ~14 !0, ''
32 > JMPNZ_EX ~14 ~14, ->36
33 > TYPE_CHECK 64 ~15 !0
34 BOOL_NOT ~16 ~15
35 BOOL ~14 ~16
36 > > JMPZ ~14, ->39
15 37 > ASSIGN !0, '%3F'
14 38 > JMP ->50
17 39 > INIT_FCALL 'preg_match'
40 SEND_VAL '%2F%5Cw%2F'
41 SEND_VAR !0
42 DO_ICALL $18
43 > JMPZ $18, ->50
18 44 > INIT_FCALL 'preg_replace'
45 SEND_VAL '%2F%5CW%2B%2F'
46 SEND_VAL ''
47 SEND_VAR !0
48 DO_ICALL $19
49 ASSIGN !0, $19
10 50 > > JMP ->52
22 51 > ASSIGN !0, ''
24 52 > > RETURN !0
25 53* > RETURN null
End of function to_ascii
Function find_similar3:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 6, Position 2 = 9
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 10, Position 2 = 11
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 77) Position 1 = 47, Position 2 = 137
Branch analysis from position: 47
2 jumps found. (Code = 78) Position 1 = 48, Position 2 = 137
Branch analysis from position: 48
2 jumps found. (Code = 77) Position 1 = 50, Position 2 = 88
Branch analysis from position: 50
2 jumps found. (Code = 78) Position 1 = 51, Position 2 = 88
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 75
Branch analysis from position: 54
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 62
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 72
Branch analysis from position: 66
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 77
Branch analysis from position: 77
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
Branch analysis from position: 72
1 jumps found. (Code = 42) Position 1 = 77
Branch analysis from position: 77
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 72
Branch analysis from position: 66
Branch analysis from position: 72
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 50
Branch analysis from position: 50
Branch analysis from position: 88
2 jumps found. (Code = 77) Position 1 = 102, Position 2 = 120
Branch analysis from position: 102
2 jumps found. (Code = 78) Position 1 = 103, Position 2 = 120
Branch analysis from position: 103
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 118
Branch analysis from position: 117
1 jumps found. (Code = 42) Position 1 = 102
Branch analysis from position: 102
Branch analysis from position: 118
Branch analysis from position: 120
2 jumps found. (Code = 43) Position 1 = 123, Position 2 = 130
Branch analysis from position: 123
1 jumps found. (Code = 42) Position 1 = 134
Branch analysis from position: 134
1 jumps found. (Code = 42) Position 1 = 47
Branch analysis from position: 47
Branch analysis from position: 130
1 jumps found. (Code = 42) Position 1 = 47
Branch analysis from position: 47
Branch analysis from position: 120
Branch analysis from position: 88
Branch analysis from position: 137
2 jumps found. (Code = 43) Position 1 = 140, Position 2 = 143
Branch analysis from position: 140
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 143
Branch analysis from position: 137
Branch analysis from position: 9
filename: /in/Mpbcg
function name: find_similar3
number of ops: 149
compiled vars: !0 = $needle, !1 = $str, !2 = $keep_needle_order, !3 = $valid, !4 = $encoding_s, !5 = $encoding_n, !6 = $pneed, !7 = $pstr, !8 = $word, !9 = $k, !10 = $w, !11 = $key, !12 = $tmp_word, !13 = $tmp_w, !14 = $tmp, !15 = $keys, !16 = $nominees, !17 = $idx, !18 = $nominee, !19 = $answer
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
31 0 E > RECV !0
1 RECV !1
2 RECV_INIT !2 <false>
32 3 TYPE_CHECK 64 ~20 !0
4 BOOL_NOT ~21 ~20
5 > JMPNZ_EX ~21 ~21, ->9
6 > TYPE_CHECK 64 ~22 !1
7 BOOL_NOT ~23 ~22
8 BOOL ~21 ~23
9 > > JMPZ ~21, ->11
34 10 > > RETURN <false>
36 11 > ASSIGN !3, <array>
38 12 INIT_FCALL 'setlocale'
13 SEND_VAL 0
14 SEND_VAL 'en_GB.UTF8'
15 DO_ICALL
39 16 INIT_FCALL 'mb_detect_encoding'
17 SEND_VAR !1
18 DO_ICALL $26
19 ASSIGN !4, $26
40 20 INIT_FCALL 'mb_detect_encoding'
21 SEND_VAR !0
22 DO_ICALL $28
23 ASSIGN !5, $28
42 24 INIT_FCALL 'mb_regex_encoding'
25 SEND_VAR !5
26 DO_ICALL
43 27 INIT_FCALL 'array_filter'
28 INIT_FCALL 'mb_split'
29 SEND_VAL '%5CW'
30 SEND_VAR !0
31 DO_ICALL $31
32 SEND_VAR $31
33 DO_ICALL $32
34 ASSIGN !6, $32
45 35 INIT_FCALL 'mb_regex_encoding'
36 SEND_VAR !4
37 DO_ICALL
46 38 INIT_FCALL 'array_filter'
39 INIT_FCALL 'mb_split'
40 SEND_VAL '%5CW'
41 SEND_VAR !1
42 DO_ICALL $35
43 SEND_VAR $35
44 DO_ICALL $36
45 ASSIGN !7, $36
50 46 > FE_RESET_R $38 !6, ->137
47 > > FE_FETCH_R ~39 $38, !8, ->137
48 > ASSIGN !9, ~39
52 49 > FE_RESET_R $41 !7, ->88
50 > > FE_FETCH_R ~42 $41, !10, ->88
51 > ASSIGN !11, ~42
54 52 IS_NOT_IDENTICAL !5, !4
53 > JMPZ ~44, ->75
56 54 > IS_NOT_IDENTICAL !5, 'ASCII'
55 > JMPZ ~45, ->62
56 > INIT_FCALL 'to_ascii'
57 SEND_VAR !8
58 SEND_VAR !5
59 DO_FCALL 0 $46
60 QM_ASSIGN ~47 $46
61 > JMP ->63
62 > QM_ASSIGN ~47 !8
63 > ASSIGN !12, ~47
57 64 IS_NOT_IDENTICAL !4, 'ASCII'
65 > JMPZ ~49, ->72
66 > INIT_FCALL 'to_ascii'
67 SEND_VAR !10
68 SEND_VAR !4
69 DO_FCALL 0 $50
70 QM_ASSIGN ~51 $50
71 > JMP ->73
72 > QM_ASSIGN ~51 !10
73 > ASSIGN !13, ~51
54 74 > JMP ->77
60 75 > ASSIGN !12, !8
61 76 ASSIGN !13, !10
64 77 > INIT_FCALL 'levenshtein'
78 SEND_VAR !13
79 SEND_VAR !12
80 DO_ICALL $56
81 ASSIGN_DIM !14, !13
82 OP_DATA $56
65 83 INIT_ARRAY ~58 !11
84 ADD_ARRAY_ELEMENT ~58 !10
85 ASSIGN_DIM !15, !13
86 OP_DATA ~58
52 87 > JMP ->50
88 > FE_FREE $41
69 89 INIT_FCALL 'array_flip'
90 INIT_FCALL 'array_keys'
91 SEND_VAR !14
92 INIT_FCALL 'min'
93 SEND_VAR !14
94 DO_ICALL $59
95 SEND_VAR $59
96 DO_ICALL $60
97 SEND_VAR $60
98 DO_ICALL $61
99 ASSIGN !16, $61
70 100 ASSIGN !14, 10000
71 101 > FE_RESET_R $64 !16, ->120
102 > > FE_FETCH_R ~65 $64, !17, ->120
103 > ASSIGN !18, ~65
73 104 INIT_FCALL 'levenshtein'
105 INIT_FCALL 'metaphone'
106 SEND_VAR !18
107 DO_ICALL $67
108 SEND_VAR $67
109 INIT_FCALL 'metaphone'
110 SEND_VAR !12
111 DO_ICALL $68
112 SEND_VAR $68
113 DO_ICALL $69
114 ASSIGN !17, $69
74 115 IS_SMALLER !17, !14
116 > JMPZ ~71, ->118
75 117 > ASSIGN !19, !18
78 118 > UNSET_DIM !16, !18
71 119 > JMP ->102
120 > FE_FREE $64
80 121 BOOL_NOT ~73 !2
122 > JMPZ ~73, ->130
81 123 > FETCH_DIM_R ~74 !15, !19
124 FETCH_DIM_R ~75 ~74, 0
125 FETCH_DIM_R ~77 !15, !19
126 FETCH_DIM_R ~78 ~77, 1
127 ASSIGN_DIM !3, ~75
128 OP_DATA ~78
80 129 > JMP ->134
84 130 > FETCH_DIM_R ~80 !15, !19
131 FETCH_DIM_R ~81 ~80, 1
132 ASSIGN_DIM !3, !9
133 OP_DATA ~81
86 134 > ASSIGN ~82 !16, <array>
135 ASSIGN !14, ~82
50 136 > JMP ->47
137 > FE_FREE $38
88 138 BOOL_NOT ~84 !2
139 > JMPZ ~84, ->143
90 140 > INIT_FCALL 'ksort'
141 SEND_REF !3
142 DO_ICALL
93 143 > INIT_FCALL 'array_values'
144 SEND_VAR !3
145 DO_ICALL $86
146 ASSIGN !3, $86
96 147 > RETURN !3
98 148* > RETURN null
End of function find_similar3
Generated using Vulcan Logic Dumper, using php 8.0.0