3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 4, Position 2 = 28
Branch analysis from position: 4
2 jumps found. (Code = 78) Position 1 = 5, Position 2 = 28
Branch analysis from position: 5
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 27
Branch analysis from position: 11
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 4
Branch analysis from position: 4
Branch analysis from position: 28
2 jumps found. (Code = 77) Position 1 = 30, Position 2 = 52
Branch analysis from position: 30
2 jumps found. (Code = 78) Position 1 = 31, Position 2 = 52
Branch analysis from position: 31
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 51
Branch analysis from position: 36
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 51
1 jumps found. (Code = 42) Position 1 = 30
Branch analysis from position: 30
Branch analysis from position: 52
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 52
Branch analysis from position: 28
filename:       /in/MRdGR
function name:  (null)
number of ops:  54
compiled vars:  !0 = $car, !1 = $search_positive_tests, !2 = $search_negative_tests, !3 = $search
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, <array>
    5     1        ASSIGN                                                   !1, <array>
   11     2        ASSIGN                                                   !2, <array>
   24     3      > FE_RESET_R                                       $7      !1, ->28
          4    > > FE_FETCH_R                                               $7, !3, ->28
   26     5    >   INIT_FCALL                                               'is_match'
          6        SEND_VAR                                                 !0
          7        SEND_VAR                                                 !3
          8        DO_FCALL                                      0  $8      
          9        BOOL_NOT                                         ~9      $8
         10      > JMPZ                                                     ~9, ->27
   27    11    >   NEW                                              $10     'Exception'
         12        FETCH_DIM_R                                      ~11     !0, 'low'
         13        CONCAT                                           ~12     '%28', ~11
         14        CONCAT                                           ~13     ~12, '+%3D%3E+'
         15        FETCH_DIM_R                                      ~14     !0, 'high'
         16        CONCAT                                           ~15     ~13, ~14
         17        CONCAT                                           ~16     ~15, '%29+should+have+matched+%28'
         18        FETCH_DIM_R                                      ~17     !3, 'low'
         19        CONCAT                                           ~18     ~16, ~17
         20        CONCAT                                           ~19     ~18, '+%3D%3E+'
         21        FETCH_DIM_R                                      ~20     !3, 'high'
         22        CONCAT                                           ~21     ~19, ~20
         23        CONCAT                                           ~22     ~21, '%29'
         24        SEND_VAL_EX                                              ~22
         25        DO_FCALL                                      0          
         26      > THROW                                         0          $10
   24    27    > > JMP                                                      ->4
         28    >   FE_FREE                                                  $7
   30    29      > FE_RESET_R                                       $24     !2, ->52
         30    > > FE_FETCH_R                                               $24, !3, ->52
   32    31    >   INIT_FCALL                                               'is_match'
         32        SEND_VAR                                                 !0
         33        SEND_VAR                                                 !3
         34        DO_FCALL                                      0  $25     
         35      > JMPZ                                                     $25, ->51
   33    36    >   NEW                                              $26     'Exception'
         37        FETCH_DIM_R                                      ~27     !0, 'low'
         38        CONCAT                                           ~28     ~27, '+%3D%3E+'
         39        FETCH_DIM_R                                      ~29     !0, 'high'
         40        CONCAT                                           ~30     ~28, ~29
         41        CONCAT                                           ~31     ~30, '+should+not+have+matched+%28'
         42        FETCH_DIM_R                                      ~32     !3, 'low'
         43        CONCAT                                           ~33     ~31, ~32
         44        CONCAT                                           ~34     ~33, '+%3D%3E+'
         45        FETCH_DIM_R                                      ~35     !3, 'high'
         46        CONCAT                                           ~36     ~34, ~35
         47        CONCAT                                           ~37     ~36, '%29'
         48        SEND_VAL_EX                                              ~37
         49        DO_FCALL                                      0          
         50      > THROW                                         0          $26
   30    51    > > JMP                                                      ->30
         52    >   FE_FREE                                                  $24
   34    53      > RETURN                                                   1

Function is_match:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 6, Position 2 = 10
Branch analysis from position: 6
2 jumps found. (Code = 47) Position 1 = 11, Position 2 = 20
Branch analysis from position: 11
2 jumps found. (Code = 46) Position 1 = 15, Position 2 = 19
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
Branch analysis from position: 20
Branch analysis from position: 10
filename:       /in/MRdGR
function name:  is_match
number of ops:  22
compiled vars:  !0 = $car, !1 = $search
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   19     2        FETCH_DIM_R                                      ~2      !1, 'low'
          3        FETCH_DIM_R                                      ~3      !0, 'low'
          4        IS_SMALLER_OR_EQUAL                              ~4      ~3, ~2
          5      > JMPZ_EX                                          ~4      ~4, ->10
          6    >   FETCH_DIM_R                                      ~5      !1, 'low'
          7        FETCH_DIM_R                                      ~6      !0, 'high'
          8        IS_SMALLER_OR_EQUAL                              ~7      ~5, ~6
          9        BOOL                                             ~4      ~7
         10    > > JMPNZ_EX                                         ~4      ~4, ->20
   20    11    >   FETCH_DIM_R                                      ~8      !1, 'high'
         12        FETCH_DIM_R                                      ~9      !0, 'low'
         13        IS_SMALLER_OR_EQUAL                              ~10     ~9, ~8
         14      > JMPZ_EX                                          ~10     ~10, ->19
         15    >   FETCH_DIM_R                                      ~11     !1, 'high'
         16        FETCH_DIM_R                                      ~12     !0, 'high'
         17        IS_SMALLER_OR_EQUAL                              ~13     ~11, ~12
         18        BOOL                                             ~10     ~13
         19    >   BOOL                                             ~4      ~10
         20    > > RETURN                                                   ~4
   21    21*     > RETURN                                                   null

End of function is_match

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
246.54 ms | 978 KiB | 15 Q