3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0Yhkm
function name:  (null)
number of ops:  61
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E >   INIT_FCALL                                               'getnewletter'
          1        SEND_VAL                                                 'H'
          2        SEND_VAL                                                 4
          3        DO_FCALL                                      0  $0      
          4        ECHO                                                     $0
          5        ECHO                                                     '%0A'
   16     6        INIT_FCALL                                               'getnewletter'
          7        SEND_VAL                                                 'H'
          8        SEND_VAL                                                 26
          9        DO_FCALL                                      0  $1      
         10        ECHO                                                     $1
         11        ECHO                                                     '%0A'
   17    12        INIT_FCALL                                               'getnewletter'
         13        SEND_VAL                                                 'H'
         14        SEND_VAL                                                 -4
         15        DO_FCALL                                      0  $2      
         16        ECHO                                                     $2
         17        ECHO                                                     '%0A'
   18    18        INIT_FCALL                                               'getnewletter'
         19        SEND_VAL                                                 'A'
         20        SEND_VAL                                                 -1
         21        DO_FCALL                                      0  $3      
         22        ECHO                                                     $3
         23        ECHO                                                     '%0A'
   19    24        INIT_FCALL                                               'getnewletter'
         25        SEND_VAL                                                 'A'
         26        SEND_VAL                                                 -27
         27        DO_FCALL                                      0  $4      
         28        ECHO                                                     $4
         29        ECHO                                                     '%0A'
   20    30        INIT_FCALL                                               'getnewletter'
         31        SEND_VAL                                                 'A'
         32        SEND_VAL                                                 -2
         33        DO_FCALL                                      0  $5      
         34        ECHO                                                     $5
         35        ECHO                                                     '%0A'
   21    36        INIT_FCALL                                               'getnewletter'
         37        SEND_VAL                                                 'B'
         38        SEND_VAL                                                 -3
         39        DO_FCALL                                      0  $6      
         40        ECHO                                                     $6
         41        ECHO                                                     '%0A'
   22    42        INIT_FCALL                                               'getnewletter'
         43        SEND_VAL                                                 'X'
         44        SEND_VAL                                                 3
         45        DO_FCALL                                      0  $7      
         46        ECHO                                                     $7
         47        ECHO                                                     '%0A'
   23    48        INIT_FCALL                                               'getnewletter'
         49        SEND_VAL                                                 'Y'
         50        SEND_VAL                                                 3
         51        DO_FCALL                                      0  $8      
         52        ECHO                                                     $8
         53        ECHO                                                     '%0A'
   24    54        INIT_FCALL                                               'getnewletter'
         55        SEND_VAL                                                 'E'
         56        SEND_VAL                                                 -7
         57        DO_FCALL                                      0  $9      
         58        ECHO                                                     $9
         59        ECHO                                                     '%0A'
   25    60      > RETURN                                                   1

Function getnewletter:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 11, Position 2 = 26
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 34
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0Yhkm
function name:  getNewLetter
number of ops:  39
compiled vars:  !0 = $letter, !1 = $number, !2 = $new_ascii_value
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    4     2        MOD                                              ~3      !1, 26
          3        ASSIGN                                                   !1, ~3
    5     4        INIT_FCALL                                               'ord'
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $5      
          7        ADD                                              ~6      $5, !1
          8        ASSIGN                                                   !2, ~6
    6     9        IS_SMALLER                                               !2, 65
         10      > JMPZ                                                     ~8, ->26
    7    11    >   INIT_FCALL                                               'abs'
         12        SEND_VAR                                                 !1
         13        DO_ICALL                                         $9      
         14        INIT_FCALL                                               'ord'
         15        SEND_VAR                                                 !0
         16        DO_ICALL                                         $10     
         17        SUB                                              ~11     $10, 65
         18        SUB                                              ~12     $9, ~11
         19        ASSIGN                                                   !1, ~12
    8    20        INIT_FCALL                                               'chr'
         21        SUB                                              ~14     91, !1
         22        SEND_VAL                                                 ~14
         23        DO_ICALL                                         $15     
         24      > RETURN                                                   $15
    6    25*       JMP                                                      ->34
    9    26    >   IS_SMALLER_OR_EQUAL                                      91, !2
         27      > JMPZ                                                     ~16, ->34
   10    28    >   INIT_FCALL                                               'chr'
         29        SUB                                              ~17     !2, 90
         30        ADD                                              ~18     64, ~17
         31        SEND_VAL                                                 ~18
         32        DO_ICALL                                         $19     
         33      > RETURN                                                   $19
   12    34    >   INIT_FCALL                                               'chr'
         35        SEND_VAR                                                 !2
         36        DO_ICALL                                         $20     
         37      > RETURN                                                   $20
   13    38*     > RETURN                                                   null

End of function getnewletter

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
269.2 ms | 980 KiB | 26 Q