3v4l.org

run code in 300+ PHP versions simultaneously
<?php $temp = '-k'; $v='j'; $neg_t = strpos($temp,'-')?TRUE:FALSE; $neg_v = strpos($v,'-')?TRUE:FALSE; $temp = substr($temp, -1); $v = substr($v, -1); switch($temp) { case '0': $temp = $v; break; case '1': switch($v) { case '1':$temp = '1'; break; case 'i':$temp = 'i'; break; case 'j':$temp = 'j'; break; case 'k':$temp = 'k'; break; } break; case 'i': switch($v) { case '1':$temp = 'i'; break; case 'i':$temp = '-1'; break; case 'j':$temp = 'k'; break; case 'k':$temp = '-j'; break; } break; case 'j': switch($v) { case '1':$temp = 'j'; break; case 'i':$temp = '-k'; break; case 'j':$temp = '-1'; break; case 'k':$temp = 'i'; break; } break; case 'k': switch($v) { case '1':$temp = 'k'; break; case 'i':$temp = 'j'; break; case 'j':$temp = '-i'; break; case 'k':$temp = '-1'; break; } break; } if($neg_t xor $neg_v) { $temp = '-' . $temp; } if($net_t && $neg_v) $temp = substr($temp,-1); echo $temp;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
1 jumps found. (Code = 42) Position 1 = 10
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 18
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 19
Branch analysis from position: 19
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 41
Branch analysis from position: 32
2 jumps found. (Code = 44) Position 1 = 34, Position 2 = 43
Branch analysis from position: 34
2 jumps found. (Code = 44) Position 1 = 36, Position 2 = 61
Branch analysis from position: 36
2 jumps found. (Code = 44) Position 1 = 38, Position 2 = 79
Branch analysis from position: 38
2 jumps found. (Code = 44) Position 1 = 40, Position 2 = 97
Branch analysis from position: 40
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
2 jumps found. (Code = 43) Position 1 = 117, Position 2 = 119
Branch analysis from position: 117
2 jumps found. (Code = 46) Position 1 = 120, Position 2 = 121
Branch analysis from position: 120
2 jumps found. (Code = 43) Position 1 = 122, Position 2 = 127
Branch analysis from position: 122
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 127
Branch analysis from position: 121
Branch analysis from position: 119
Branch analysis from position: 97
2 jumps found. (Code = 44) Position 1 = 99, Position 2 = 106
Branch analysis from position: 99
2 jumps found. (Code = 44) Position 1 = 101, Position 2 = 108
Branch analysis from position: 101
2 jumps found. (Code = 44) Position 1 = 103, Position 2 = 110
Branch analysis from position: 103
2 jumps found. (Code = 44) Position 1 = 105, Position 2 = 112
Branch analysis from position: 105
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 112
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 110
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 108
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 106
1 jumps found. (Code = 42) Position 1 = 114
Branch analysis from position: 114
Branch analysis from position: 79
2 jumps found. (Code = 44) Position 1 = 81, Position 2 = 88
Branch analysis from position: 81
2 jumps found. (Code = 44) Position 1 = 83, Position 2 = 90
Branch analysis from position: 83
2 jumps found. (Code = 44) Position 1 = 85, Position 2 = 92
Branch analysis from position: 85
2 jumps found. (Code = 44) Position 1 = 87, Position 2 = 94
Branch analysis from position: 87
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 94
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
Branch analysis from position: 92
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
Branch analysis from position: 90
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
Branch analysis from position: 88
1 jumps found. (Code = 42) Position 1 = 96
Branch analysis from position: 96
Branch analysis from position: 61
2 jumps found. (Code = 44) Position 1 = 63, Position 2 = 70
Branch analysis from position: 63
2 jumps found. (Code = 44) Position 1 = 65, Position 2 = 72
Branch analysis from position: 65
2 jumps found. (Code = 44) Position 1 = 67, Position 2 = 74
Branch analysis from position: 67
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 76
Branch analysis from position: 69
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 76
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
Branch analysis from position: 74
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
Branch analysis from position: 72
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
Branch analysis from position: 70
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
Branch analysis from position: 43
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 52
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 47, Position 2 = 54
Branch analysis from position: 47
2 jumps found. (Code = 44) Position 1 = 49, Position 2 = 56
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 58
Branch analysis from position: 51
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 58
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 52
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 41
1 jumps found. (Code = 42) Position 1 = 115
Branch analysis from position: 115
Branch analysis from position: 18
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 41
Branch analysis from position: 32
Branch analysis from position: 41
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 18
Branch analysis from position: 16
Branch analysis from position: 18
filename:       /in/KGTrE
function name:  (null)
number of ops:  129
compiled vars:  !0 = $temp, !1 = $v, !2 = $neg_t, !3 = $neg_v, !4 = $net_t
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '-k'
    3     1        ASSIGN                                                   !1, 'j'
    4     2        INIT_FCALL                                               'strpos'
          3        SEND_VAR                                                 !0
          4        SEND_VAL                                                 '-'
          5        DO_ICALL                                         $7      
          6      > JMPZ                                                     $7, ->9
          7    >   QM_ASSIGN                                        ~8      <true>
          8      > JMP                                                      ->10
          9    >   QM_ASSIGN                                        ~8      <false>
         10    >   ASSIGN                                                   !2, ~8
    5    11        INIT_FCALL                                               'strpos'
         12        SEND_VAR                                                 !1
         13        SEND_VAL                                                 '-'
         14        DO_ICALL                                         $10     
         15      > JMPZ                                                     $10, ->18
         16    >   QM_ASSIGN                                        ~11     <true>
         17      > JMP                                                      ->19
         18    >   QM_ASSIGN                                        ~11     <false>
         19    >   ASSIGN                                                   !3, ~11
    7    20        INIT_FCALL                                               'substr'
         21        SEND_VAR                                                 !0
         22        SEND_VAL                                                 -1
         23        DO_ICALL                                         $13     
         24        ASSIGN                                                   !0, $13
    9    25        INIT_FCALL                                               'substr'
         26        SEND_VAR                                                 !1
         27        SEND_VAL                                                 -1
         28        DO_ICALL                                         $15     
         29        ASSIGN                                                   !1, $15
   13    30        IS_EQUAL                                                 !0, '0'
         31      > JMPNZ                                                    ~17, ->41
   14    32    >   IS_EQUAL                                                 !0, '1'
         33      > JMPNZ                                                    ~17, ->43
   23    34    >   IS_EQUAL                                                 !0, 'i'
         35      > JMPNZ                                                    ~17, ->61
   32    36    >   IS_EQUAL                                                 !0, 'j'
         37      > JMPNZ                                                    ~17, ->79
   41    38    >   IS_EQUAL                                                 !0, 'k'
         39      > JMPNZ                                                    ~17, ->97
         40    > > JMP                                                      ->115
   13    41    >   ASSIGN                                                   !0, !1
         42      > JMP                                                      ->115
   17    43    >   IS_EQUAL                                                 !1, '1'
         44      > JMPNZ                                                    ~19, ->52
   18    45    >   IS_EQUAL                                                 !1, 'i'
         46      > JMPNZ                                                    ~19, ->54
   19    47    >   IS_EQUAL                                                 !1, 'j'
         48      > JMPNZ                                                    ~19, ->56
   20    49    >   IS_EQUAL                                                 !1, 'k'
         50      > JMPNZ                                                    ~19, ->58
         51    > > JMP                                                      ->60
   17    52    >   ASSIGN                                                   !0, '1'
         53      > JMP                                                      ->60
   18    54    >   ASSIGN                                                   !0, 'i'
         55      > JMP                                                      ->60
   19    56    >   ASSIGN                                                   !0, 'j'
         57      > JMP                                                      ->60
   20    58    >   ASSIGN                                                   !0, 'k'
         59      > JMP                                                      ->60
   22    60    > > JMP                                                      ->115
   26    61    >   IS_EQUAL                                                 !1, '1'
         62      > JMPNZ                                                    ~24, ->70
   27    63    >   IS_EQUAL                                                 !1, 'i'
         64      > JMPNZ                                                    ~24, ->72
   28    65    >   IS_EQUAL                                                 !1, 'j'
         66      > JMPNZ                                                    ~24, ->74
   29    67    >   IS_EQUAL                                                 !1, 'k'
         68      > JMPNZ                                                    ~24, ->76
         69    > > JMP                                                      ->78
   26    70    >   ASSIGN                                                   !0, 'i'
         71      > JMP                                                      ->78
   27    72    >   ASSIGN                                                   !0, '-1'
         73      > JMP                                                      ->78
   28    74    >   ASSIGN                                                   !0, 'k'
         75      > JMP                                                      ->78
   29    76    >   ASSIGN                                                   !0, '-j'
         77      > JMP                                                      ->78
   31    78    > > JMP                                                      ->115
   35    79    >   IS_EQUAL                                                 !1, '1'
         80      > JMPNZ                                                    ~29, ->88
   36    81    >   IS_EQUAL                                                 !1, 'i'
         82      > JMPNZ                                                    ~29, ->90
   37    83    >   IS_EQUAL                                                 !1, 'j'
         84      > JMPNZ                                                    ~29, ->92
   38    85    >   IS_EQUAL                                                 !1, 'k'
         86      > JMPNZ                                                    ~29, ->94
         87    > > JMP                                                      ->96
   35    88    >   ASSIGN                                                   !0, 'j'
         89      > JMP                                                      ->96
   36    90    >   ASSIGN                                                   !0, '-k'
         91      > JMP                                                      ->96
   37    92    >   ASSIGN                                                   !0, '-1'
         93      > JMP                                                      ->96
   38    94    >   ASSIGN                                                   !0, 'i'
         95      > JMP                                                      ->96
   40    96    > > JMP                                                      ->115
   44    97    >   IS_EQUAL                                                 !1, '1'
         98      > JMPNZ                                                    ~34, ->106
   45    99    >   IS_EQUAL                                                 !1, 'i'
        100      > JMPNZ                                                    ~34, ->108
   46   101    >   IS_EQUAL                                                 !1, 'j'
        102      > JMPNZ                                                    ~34, ->110
   47   103    >   IS_EQUAL                                                 !1, 'k'
        104      > JMPNZ                                                    ~34, ->112
        105    > > JMP                                                      ->114
   44   106    >   ASSIGN                                                   !0, 'k'
        107      > JMP                                                      ->114
   45   108    >   ASSIGN                                                   !0, 'j'
        109      > JMP                                                      ->114
   46   110    >   ASSIGN                                                   !0, '-i'
        111      > JMP                                                      ->114
   47   112    >   ASSIGN                                                   !0, '-1'
        113      > JMP                                                      ->114
   49   114    > > JMP                                                      ->115
   52   115    >   BOOL_XOR                                         ~39     !2, !3
        116      > JMPZ                                                     ~39, ->119
   54   117    >   CONCAT                                           ~40     '-', !0
        118        ASSIGN                                                   !0, ~40
   56   119    > > JMPZ_EX                                          ~42     !4, ->121
        120    >   BOOL                                             ~42     !3
        121    > > JMPZ                                                     ~42, ->127
   57   122    >   INIT_FCALL                                               'substr'
        123        SEND_VAR                                                 !0
        124        SEND_VAL                                                 -1
        125        DO_ICALL                                         $43     
        126        ASSIGN                                                   !0, $43
   58   127    >   ECHO                                                     !0
        128      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146.05 ms | 1412 KiB | 17 Q