3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); header("Content-Type: text/plain; charset=utf-8"); mb_internal_encoding('utf-8'); define('SUBWAY', 'sub'); define('FOOT', 'foot'); define('BUS', 'bus'); $transportName = array( SUBWAY => 'едешь на метро', FOOT => 'идешь пешком', BUS => 'едешь на автобусе' ); $startPoint = 'pet'; // Петроградская $endPoint = 'nov'; // Новая Голландия $pointNames = array( 'pet' => 'ст. м. Петроградская', 'chk' => 'ст. м. Чкаловская', 'gor' => 'ст. м. Горьковская', 'spo' => 'ст. м. Спортивная', 'vas' => 'ст. м. Василеостровская', 'kre' => 'Петропавловская крепость', 'let' => 'Летний сад', 'dvo' => 'Дворцовая площадь', 'isa' => 'Исакиевский собор', 'nov' => 'Новая Голландия', 'ras' => 'Дом Раскольникова', 'gos' => 'Гостиный Двор', 'sen' => 'Сенная Площадь', 'vla' => 'ст. м. Владимирская', 'vit' => 'Витебский вокзал', 'teh' => 'Технолоческий Институт' ); $paths = array( 'pet' => array( 'chk' => canGet(10, BUS), 'gor' => canGet(3, SUBWAY) ), 'chk' => array( 'pet' => canGet(10, BUS), 'spo' => canGet(3, SUBWAY) ), 'gor' => array( 'pet' => canGet(3, BUS), 'kre' => canGet(5, FOOT), 'gos' => canGet(6, SUBWAY) ), 'spo' => array( 'chk' => canGet(3, SUBWAY), 'vas' => canGet(10, BUS), 'sen' => canGet(7, SUBWAY) ), 'vas' => array( 'spo' => canGet(10, BUS), 'gos' => canGet(7, SUBWAY), 'nov' => canGet(11, FOOT) ), 'kre' => array( 'gor' => canGet(5, FOOT) ), 'let' => array( 'dvo' => canGet(6, FOOT), 'gos' => canGet(7, FOOT) ), 'dvo' => array( 'isa' => canGet(6, FOOT), 'gos' => canGet(6, FOOT), 'let' => canGet(6, FOOT) ), 'isa' => array( 'dvo' => canGet(6, FOOT), 'nov' => canGet(5, FOOT) ), 'nov' => array( 'vas' => canGet(11, FOOT), 'isa' => canGet(5, FOOT), 'ras' => canGet(7, BUS) ), 'ras' => array( 'nov' => canGet(7, BUS), 'sen' => canGet(3, FOOT) ), 'gos' => array( 'vas' => canGet(7, SUBWAY), 'sen' => canGet(3, SUBWAY), 'dvo' => canGet(6, FOOT), 'gor' => canGet(6, SUBWAY), 'let' => canGet(7, FOOT), 'vla' => canGet(7, FOOT) ), 'sen' => array( 'ras' => canGet(3, FOOT), 'spo' => canGet(7, SUBWAY), 'gos' => canGet(3, SUBWAY), 'vla' => canGet(4, SUBWAY), 'vit' => canGet(2, SUBWAY), 'teh' => canGet(3, SUBWAY) ), 'vla' => array( 'sen' => canGet(4, SUBWAY), 'gos' => canGet(7, FOOT), 'vit' => canGet(3, SUBWAY) ), 'vit' => array( 'sen' => canGet(2, SUBWAY), 'teh' => canGet(2, SUBWAY), 'vla' => canGet(3, SUBWAY) ), 'teh' => array( 'sen' => canGet(3, SUBWAY), 'vit' => canGet(2, SUBWAY) ) ); function canGet($time, $byWhat) { return array('time' => $time, 'by' => $byWhat); } function makeOneStep($paths, $pathDone, $time, $point, $target) { foreach ($paths[$point] as $subPoint => $value) { if ($subPoint == $target) { $pathDone[] = $point; $pathDone[] = $subPoint; $result = array(); $result['path'] = $pathDone; $result['time'] = $time + $paths[$point][$subPoint]['time']; return $result; } elseif (!in_array($subPoint, $pathDone)) { $pathDone[] = $point; $time += $paths[$point][$subPoint]['time']; makeOneStep($paths, $pathDone, $time, $subPoint, $target); } } } makeOneStep($paths, array(), 0, $startPoint, $endPoint);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/M6KOc
function name:  (null)
number of ops:  332
compiled vars:  !0 = $transportName, !1 = $startPoint, !2 = $endPoint, !3 = $pointNames, !4 = $paths
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'error_reporting'
          1        SEND_VAL                                                 -1
          2        DO_ICALL                                                 
    3     3        INIT_FCALL                                               'header'
          4        SEND_VAL                                                 'Content-Type%3A+text%2Fplain%3B+charset%3Dutf-8'
          5        DO_ICALL                                                 
    4     6        INIT_FCALL                                               'mb_internal_encoding'
          7        SEND_VAL                                                 'utf-8'
          8        DO_ICALL                                                 
    6     9        INIT_FCALL                                               'define'
         10        SEND_VAL                                                 'SUBWAY'
         11        SEND_VAL                                                 'sub'
         12        DO_ICALL                                                 
    7    13        INIT_FCALL                                               'define'
         14        SEND_VAL                                                 'FOOT'
         15        SEND_VAL                                                 'foot'
         16        DO_ICALL                                                 
    8    17        INIT_FCALL                                               'define'
         18        SEND_VAL                                                 'BUS'
         19        SEND_VAL                                                 'bus'
         20        DO_ICALL                                                 
   11    21        FETCH_CONSTANT                                   ~11     'SUBWAY'
         22        INIT_ARRAY                                       ~12     '%D0%B5%D0%B4%D0%B5%D1%88%D1%8C+%D0%BD%D0%B0+%D0%BC%D0%B5%D1%82%D1%80%D0%BE', ~11
   12    23        FETCH_CONSTANT                                   ~13     'FOOT'
         24        ADD_ARRAY_ELEMENT                                ~12     '%D0%B8%D0%B4%D0%B5%D1%88%D1%8C+%D0%BF%D0%B5%D1%88%D0%BA%D0%BE%D0%BC', ~13
   13    25        FETCH_CONSTANT                                   ~14     'BUS'
         26        ADD_ARRAY_ELEMENT                                ~12     '%D0%B5%D0%B4%D0%B5%D1%88%D1%8C+%D0%BD%D0%B0+%D0%B0%D0%B2%D1%82%D0%BE%D0%B1%D1%83%D1%81%D0%B5', ~14
   10    27        ASSIGN                                                   !0, ~12
   16    28        ASSIGN                                                   !1, 'pet'
   17    29        ASSIGN                                                   !2, 'nov'
   19    30        ASSIGN                                                   !3, <array>
   40    31        INIT_FCALL_BY_NAME                                       'canGet'
         32        SEND_VAL_EX                                              10
         33        FETCH_CONSTANT                                   ~19     'BUS'
         34        SEND_VAL_EX                                              ~19
         35        DO_FCALL                                      0  $20     
         36        INIT_ARRAY                                       ~21     $20, 'chk'
   41    37        INIT_FCALL_BY_NAME                                       'canGet'
         38        SEND_VAL_EX                                              3
         39        FETCH_CONSTANT                                   ~22     'SUBWAY'
         40        SEND_VAL_EX                                              ~22
         41        DO_FCALL                                      0  $23     
         42        ADD_ARRAY_ELEMENT                                ~21     $23, 'gor'
         43        INIT_ARRAY                                       ~24     ~21, 'pet'
   45    44        INIT_FCALL_BY_NAME                                       'canGet'
         45        SEND_VAL_EX                                              10
         46        FETCH_CONSTANT                                   ~25     'BUS'
         47        SEND_VAL_EX                                              ~25
         48        DO_FCALL                                      0  $26     
         49        INIT_ARRAY                                       ~27     $26, 'pet'
   46    50        INIT_FCALL_BY_NAME                                       'canGet'
         51        SEND_VAL_EX                                              3
         52        FETCH_CONSTANT                                   ~28     'SUBWAY'
         53        SEND_VAL_EX                                              ~28
         54        DO_FCALL                                      0  $29     
         55        ADD_ARRAY_ELEMENT                                ~27     $29, 'spo'
         56        ADD_ARRAY_ELEMENT                                ~24     ~27, 'chk'
   50    57        INIT_FCALL_BY_NAME                                       'canGet'
         58        SEND_VAL_EX                                              3
         59        FETCH_CONSTANT                                   ~30     'BUS'
         60        SEND_VAL_EX                                              ~30
         61        DO_FCALL                                      0  $31     
         62        INIT_ARRAY                                       ~32     $31, 'pet'
   51    63        INIT_FCALL_BY_NAME                                       'canGet'
         64        SEND_VAL_EX                                              5
         65        FETCH_CONSTANT                                   ~33     'FOOT'
         66        SEND_VAL_EX                                              ~33
         67        DO_FCALL                                      0  $34     
         68        ADD_ARRAY_ELEMENT                                ~32     $34, 'kre'
   52    69        INIT_FCALL_BY_NAME                                       'canGet'
         70        SEND_VAL_EX                                              6
         71        FETCH_CONSTANT                                   ~35     'SUBWAY'
         72        SEND_VAL_EX                                              ~35
         73        DO_FCALL                                      0  $36     
         74        ADD_ARRAY_ELEMENT                                ~32     $36, 'gos'
         75        ADD_ARRAY_ELEMENT                                ~24     ~32, 'gor'
   56    76        INIT_FCALL_BY_NAME                                       'canGet'
         77        SEND_VAL_EX                                              3
         78        FETCH_CONSTANT                                   ~37     'SUBWAY'
         79        SEND_VAL_EX                                              ~37
         80        DO_FCALL                                      0  $38     
         81        INIT_ARRAY                                       ~39     $38, 'chk'
   57    82        INIT_FCALL_BY_NAME                                       'canGet'
         83        SEND_VAL_EX                                              10
         84        FETCH_CONSTANT                                   ~40     'BUS'
         85        SEND_VAL_EX                                              ~40
         86        DO_FCALL                                      0  $41     
         87        ADD_ARRAY_ELEMENT                                ~39     $41, 'vas'
   58    88        INIT_FCALL_BY_NAME                                       'canGet'
         89        SEND_VAL_EX                                              7
         90        FETCH_CONSTANT                                   ~42     'SUBWAY'
         91        SEND_VAL_EX                                              ~42
         92        DO_FCALL                                      0  $43     
         93        ADD_ARRAY_ELEMENT                                ~39     $43, 'sen'
         94        ADD_ARRAY_ELEMENT                                ~24     ~39, 'spo'
   62    95        INIT_FCALL_BY_NAME                                       'canGet'
         96        SEND_VAL_EX                                              10
         97        FETCH_CONSTANT                                   ~44     'BUS'
         98        SEND_VAL_EX                                              ~44
         99        DO_FCALL                                      0  $45     
        100        INIT_ARRAY                                       ~46     $45, 'spo'
   63   101        INIT_FCALL_BY_NAME                                       'canGet'
        102        SEND_VAL_EX                                              7
        103        FETCH_CONSTANT                                   ~47     'SUBWAY'
        104        SEND_VAL_EX                                              ~47
        105        DO_FCALL                                      0  $48     
        106        ADD_ARRAY_ELEMENT                                ~46     $48, 'gos'
   64   107        INIT_FCALL_BY_NAME                                       'canGet'
        108        SEND_VAL_EX                                              11
        109        FETCH_CONSTANT                                   ~49     'FOOT'
        110        SEND_VAL_EX                                              ~49
        111        DO_FCALL                                      0  $50     
        112        ADD_ARRAY_ELEMENT                                ~46     $50, 'nov'
        113        ADD_ARRAY_ELEMENT                                ~24     ~46, 'vas'
   68   114        INIT_FCALL_BY_NAME                                       'canGet'
        115        SEND_VAL_EX                                              5
        116        FETCH_CONSTANT                                   ~51     'FOOT'
        117        SEND_VAL_EX                                              ~51
        118        DO_FCALL                                      0  $52     
        119        INIT_ARRAY                                       ~53     $52, 'gor'
        120        ADD_ARRAY_ELEMENT                                ~24     ~53, 'kre'
   72   121        INIT_FCALL_BY_NAME                                       'canGet'
        122        SEND_VAL_EX                                              6
        123        FETCH_CONSTANT                                   ~54     'FOOT'
        124        SEND_VAL_EX                                              ~54
        125        DO_FCALL                                      0  $55     
        126        INIT_ARRAY                                       ~56     $55, 'dvo'
   73   127        INIT_FCALL_BY_NAME                                       'canGet'
        128        SEND_VAL_EX                                              7
        129        FETCH_CONSTANT                                   ~57     'FOOT'
        130        SEND_VAL_EX                                              ~57
        131        DO_FCALL                                      0  $58     
        132        ADD_ARRAY_ELEMENT                                ~56     $58, 'gos'
        133        ADD_ARRAY_ELEMENT                                ~24     ~56, 'let'
   77   134        INIT_FCALL_BY_NAME                                       'canGet'
        135        SEND_VAL_EX                                              6
        136        FETCH_CONSTANT                                   ~59     'FOOT'
        137        SEND_VAL_EX                                              ~59
        138        DO_FCALL                                      0  $60     
        139        INIT_ARRAY                                       ~61     $60, 'isa'
   78   140        INIT_FCALL_BY_NAME                                       'canGet'
        141        SEND_VAL_EX                                              6
        142        FETCH_CONSTANT                                   ~62     'FOOT'
        143        SEND_VAL_EX                                              ~62
        144        DO_FCALL                                      0  $63     
        145        ADD_ARRAY_ELEMENT                                ~61     $63, 'gos'
   79   146        INIT_FCALL_BY_NAME                                       'canGet'
        147        SEND_VAL_EX                                              6
        148        FETCH_CONSTANT                                   ~64     'FOOT'
        149        SEND_VAL_EX                                              ~64
        150        DO_FCALL                                      0  $65     
        151        ADD_ARRAY_ELEMENT                                ~61     $65, 'let'
        152        ADD_ARRAY_ELEMENT                                ~24     ~61, 'dvo'
   83   153        INIT_FCALL_BY_NAME                                       'canGet'
        154        SEND_VAL_EX                                              6
        155        FETCH_CONSTANT                                   ~66     'FOOT'
        156        SEND_VAL_EX                                              ~66
        157        DO_FCALL                                      0  $67     
        158        INIT_ARRAY                                       ~68     $67, 'dvo'
   84   159        INIT_FCALL_BY_NAME                                       'canGet'
        160        SEND_VAL_EX                                              5
        161        FETCH_CONSTANT                                   ~69     'FOOT'
        162        SEND_VAL_EX                                              ~69
        163        DO_FCALL                                      0  $70     
        164        ADD_ARRAY_ELEMENT                                ~68     $70, 'nov'
        165        ADD_ARRAY_ELEMENT                                ~24     ~68, 'isa'
   88   166        INIT_FCALL_BY_NAME                                       'canGet'
        167        SEND_VAL_EX                                              11
        168        FETCH_CONSTANT                                   ~71     'FOOT'
        169        SEND_VAL_EX                                              ~71
        170        DO_FCALL                                      0  $72     
        171        INIT_ARRAY                                       ~73     $72, 'vas'
   89   172        INIT_FCALL_BY_NAME                                       'canGet'
        173        SEND_VAL_EX                                              5
        174        FETCH_CONSTANT                                   ~74     'FOOT'
        175        SEND_VAL_EX                                              ~74
        176        DO_FCALL                                      0  $75     
        177        ADD_ARRAY_ELEMENT                                ~73     $75, 'isa'
   90   178        INIT_FCALL_BY_NAME                                       'canGet'
        179        SEND_VAL_EX                                              7
        180        FETCH_CONSTANT                                   ~76     'BUS'
        181        SEND_VAL_EX                                              ~76
        182        DO_FCALL                                      0  $77     
        183        ADD_ARRAY_ELEMENT                                ~73     $77, 'ras'
        184        ADD_ARRAY_ELEMENT                                ~24     ~73, 'nov'
   94   185        INIT_FCALL_BY_NAME                                       'canGet'
        186        SEND_VAL_EX                                              7
        187        FETCH_CONSTANT                                   ~78     'BUS'
        188        SEND_VAL_EX                                              ~78
        189        DO_FCALL                                      0  $79     
        190        INIT_ARRAY                                       ~80     $79, 'nov'
   95   191        INIT_FCALL_BY_NAME                                       'canGet'
        192        SEND_VAL_EX                                              3
        193        FETCH_CONSTANT                                   ~81     'FOOT'
        194        SEND_VAL_EX                                              ~81
        195        DO_FCALL                                      0  $82     
        196        ADD_ARRAY_ELEMENT                                ~80     $82, 'sen'
        197        ADD_ARRAY_ELEMENT                                ~24     ~80, 'ras'
   99   198        INIT_FCALL_BY_NAME                                       'canGet'
        199        SEND_VAL_EX                                              7
        200        FETCH_CONSTANT                                   ~83     'SUBWAY'
        201        SEND_VAL_EX                                              ~83
        202        DO_FCALL                                      0  $84     
        203        INIT_ARRAY                                       ~85     $84, 'vas'
  100   204        INIT_FCALL_BY_NAME                                       'canGet'
        205        SEND_VAL_EX                                              3
        206        FETCH_CONSTANT                                   ~86     'SUBWAY'
        207        SEND_VAL_EX                                              ~86
        208        DO_FCALL                                      0  $87     
        209        ADD_ARRAY_ELEMENT                                ~85     $87, 'sen'
  101   210        INIT_FCALL_BY_NAME                                       'canGet'
        211        SEND_VAL_EX                                              6
        212        FETCH_CONSTANT                                   ~88     'FOOT'
        213        SEND_VAL_EX                                              ~88
        214        DO_FCALL                                      0  $89     
        215        ADD_ARRAY_ELEMENT                                ~85     $89, 'dvo'
  102   216        INIT_FCALL_BY_NAME                                       'canGet'
        217        SEND_VAL_EX                                              6
        218        FETCH_CONSTANT                                   ~90     'SUBWAY'
        219        SEND_VAL_EX                                              ~90
        220        DO_FCALL                                      0  $91     
        221        ADD_ARRAY_ELEMENT                                ~85     $91, 'gor'
  103   222        INIT_FCALL_BY_NAME                                       'canGet'
        223        SEND_VAL_EX                                              7
        224        FETCH_CONSTANT                                   ~92     'FOOT'
        225        SEND_VAL_EX                                              ~92
        226        DO_FCALL                                      0  $93     
        227        ADD_ARRAY_ELEMENT                                ~85     $93, 'let'
  104   228        INIT_FCALL_BY_NAME                                       'canGet'
        229        SEND_VAL_EX                                              7
        230        FETCH_CONSTANT                                   ~94     'FOOT'
        231        SEND_VAL_EX                                              ~94
        232        DO_FCALL                                      0  $95     
        233        ADD_ARRAY_ELEMENT                                ~85     $95, 'vla'
        234        ADD_ARRAY_ELEMENT                                ~24     ~85, 'gos'
  108   235        INIT_FCALL_BY_NAME                                       'canGet'
        236        SEND_VAL_EX                                              3
        237        FETCH_CONSTANT                                   ~96     'FOOT'
        238        SEND_VAL_EX                                              ~96
        239        DO_FCALL                                      0  $97     
        240        INIT_ARRAY                                       ~98     $97, 'ras'
  109   241        INIT_FCALL_BY_NAME                                       'canGet'
        242        SEND_VAL_EX                                              7
        243        FETCH_CONSTANT                                   ~99     'SUBWAY'
        244        SEND_VAL_EX                                              ~99
        245        DO_FCALL                                      0  $100    
        246        ADD_ARRAY_ELEMENT                                ~98     $100, 'spo'
  110   247        INIT_FCALL_BY_NAME                                       'canGet'
        248        SEND_VAL_EX                                              3
        249        FETCH_CONSTANT                                   ~101    'SUBWAY'
        250        SEND_VAL_EX                                              ~101
        251        DO_FCALL                                      0  $102    
        252        ADD_ARRAY_ELEMENT                                ~98     $102, 'gos'
  111   253        INIT_FCALL_BY_NAME                                       'canGet'
        254        SEND_VAL_EX                                              4
        255        FETCH_CONSTANT                                   ~103    'SUBWAY'
        256        SEND_VAL_EX                                              ~103
        257        DO_FCALL                                      0  $104    
        258        ADD_ARRAY_ELEMENT                                ~98     $104, 'vla'
  112   259        INIT_FCALL_BY_NAME                                       'canGet'
        260        SEND_VAL_EX                                              2
        261        FETCH_CONSTANT                                   ~105    'SUBWAY'
        262        SEND_VAL_EX                                              ~105
        263        DO_FCALL                                      0  $106    
        264        ADD_ARRAY_ELEMENT                                ~98     $106, 'vit'
  113   265        INIT_FCALL_BY_NAME                                       'canGet'
        266        SEND_VAL_EX                                              3
        267        FETCH_CONSTANT                                   ~107    'SUBWAY'
        268        SEND_VAL_EX                                              ~107
        269        DO_FCALL                                      0  $108    
        270        ADD_ARRAY_ELEMENT                                ~98     $108, 'teh'
        271        ADD_ARRAY_ELEMENT                                ~24     ~98, 'sen'
  117   272        INIT_FCALL_BY_NAME                                       'canGet'
        273        SEND_VAL_EX                                              4
        274        FETCH_CONSTANT                                   ~109    'SUBWAY'
        275        SEND_VAL_EX                                              ~109
        276        DO_FCALL                                      0  $110    
        277        INIT_ARRAY                                       ~111    $110, 'sen'
  118   278        INIT_FCALL_BY_NAME                                       'canGet'
        279        SEND_VAL_EX                                              7
        280        FETCH_CONSTANT                                   ~112    'FOOT'
        281        SEND_VAL_EX                                              ~112
        282        DO_FCALL                                      0  $113    
        283        ADD_ARRAY_ELEMENT                                ~111    $113, 'gos'
  119   284        INIT_FCALL_BY_NAME                                       'canGet'
        285        SEND_VAL_EX                                              3
        286        FETCH_CONSTANT                                   ~114    'SUBWAY'
        287        SEND_VAL_EX                                              ~114
        288        DO_FCALL                                      0  $115    
        289        ADD_ARRAY_ELEMENT                                ~111    $115, 'vit'
        290        ADD_ARRAY_ELEMENT                                ~24     ~111, 'vla'
  123   291        INIT_FCALL_BY_NAME                                       'canGet'
        292        SEND_VAL_EX                                              2
        293        FETCH_CONSTANT                                   ~116    'SUBWAY'
        294        SEND_VAL_EX                                              ~116
        295        DO_FCALL                                      0  $117    
        296        INIT_ARRAY                                       ~118    $117, 'sen'
  124   297        INIT_FCALL_BY_NAME                                       'canGet'
        298        SEND_VAL_EX                                              2
        299        FETCH_CONSTANT                                   ~119    'SUBWAY'
        300        SEND_VAL_EX                                              ~119
        301        DO_FCALL                                      0  $120    
        302        ADD_ARRAY_ELEMENT                                ~118    $120, 'teh'
  125   303        INIT_FCALL_BY_NAME                                       'canGet'
        304        SEND_VAL_EX                                              3
        305        FETCH_CONSTANT                                   ~121    'SUBWAY'
        306        SEND_VAL_EX                                              ~121
        307        DO_FCALL                                      0  $122    
        308        ADD_ARRAY_ELEMENT                                ~118    $122, 'vla'
        309        ADD_ARRAY_ELEMENT                                ~24     ~118, 'vit'
  129   310        INIT_FCALL_BY_NAME                                       'canGet'
        311        SEND_VAL_EX                                              3
        312        FETCH_CONSTANT                                   ~123    'SUBWAY'
        313        SEND_VAL_EX                                              ~123
        314        DO_FCALL                                      0  $124    
        315        INIT_ARRAY                                       ~125    $124, 'sen'
  130   316        INIT_FCALL_BY_NAME                                       'canGet'
        317        SEND_VAL_EX                                              2
        318        FETCH_CONSTANT                                   ~126    'SUBWAY'
        319        SEND_VAL_EX                                              ~126
        320        DO_FCALL                                      0  $127    
        321        ADD_ARRAY_ELEMENT                                ~125    $127, 'vit'
        322        ADD_ARRAY_ELEMENT                                ~24     ~125, 'teh'
   38   323        ASSIGN                                                   !4, ~24
  157   324        INIT_FCALL                                               'makeonestep'
        325        SEND_VAR                                                 !4
        326        SEND_VAL                                                 <array>
        327        SEND_VAL                                                 0
        328        SEND_VAR                                                 !1
        329        SEND_VAR                                                 !2
        330        DO_FCALL                                      0          
        331      > RETURN                                                   1

Function canget:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/M6KOc
function name:  canGet
number of ops:  6
compiled vars:  !0 = $time, !1 = $byWhat
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  134     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  136     2        INIT_ARRAY                                       ~2      !0, 'time'
          3        ADD_ARRAY_ELEMENT                                ~2      !1, 'by'
          4      > RETURN                                                   ~2
  137     5*     > RETURN                                                   null

End of function canget

Function makeonestep:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 7, Position 2 = 47
Branch analysis from position: 7
2 jumps found. (Code = 78) Position 1 = 8, Position 2 = 47
Branch analysis from position: 8
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 27
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 33, Position 2 = 46
Branch analysis from position: 33
1 jumps found. (Code = 42) Position 1 = 7
Branch analysis from position: 7
Branch analysis from position: 46
Branch analysis from position: 47
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
filename:       /in/M6KOc
function name:  makeOneStep
number of ops:  49
compiled vars:  !0 = $paths, !1 = $pathDone, !2 = $time, !3 = $point, !4 = $target, !5 = $value, !6 = $subPoint, !7 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  139     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
          4        RECV                                             !4      
  141     5        FETCH_DIM_R                                      ~8      !0, !3
          6      > FE_RESET_R                                       $9      ~8, ->47
          7    > > FE_FETCH_R                                       ~10     $9, !5, ->47
          8    >   ASSIGN                                                   !6, ~10
  142     9        IS_EQUAL                                                 !6, !4
         10      > JMPZ                                                     ~12, ->27
  143    11    >   ASSIGN_DIM                                               !1
         12        OP_DATA                                                  !3
  144    13        ASSIGN_DIM                                               !1
         14        OP_DATA                                                  !6
  145    15        ASSIGN                                                   !7, <array>
  146    16        ASSIGN_DIM                                               !7, 'path'
         17        OP_DATA                                                  !1
  147    18        FETCH_DIM_R                                      ~18     !0, !3
         19        FETCH_DIM_R                                      ~19     ~18, !6
         20        FETCH_DIM_R                                      ~20     ~19, 'time'
         21        ADD                                              ~21     !2, ~20
         22        ASSIGN_DIM                                               !7, 'time'
         23        OP_DATA                                                  ~21
  148    24        FE_FREE                                                  $9
         25      > RETURN                                                   !7
         26*       JMP                                                      ->46
  149    27    >   INIT_FCALL                                               'in_array'
         28        SEND_VAR                                                 !6
         29        SEND_VAR                                                 !1
         30        DO_ICALL                                         $22     
         31        BOOL_NOT                                         ~23     $22
         32      > JMPZ                                                     ~23, ->46
  150    33    >   ASSIGN_DIM      

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.96 ms | 1431 KiB | 24 Q